是否可以在Excel中找到一个字符串,然后替换所有找到的字符和前面的字符?
我问的原因是尝试将"可变文本立面修复"替换为"可变文本立面修复",而无需实际输入非 ASCII "ç"。我已经尝试了 SUBSTITUTE(文本、old_text、new_text( 函数,它不允许我在 old_text 字段中使用通配符来获取 ç 以及查找和替换函数,它让我在搜索中使用通配符,但随后替换整个字符串而不仅仅是"外观"。
我想避免使用 ç,因为它是用 python 模块编写的,每当我去其他地方导入该模块时都会出现问题。(我也已经尝试过在 python 脚本中声明编码,# coding=utf-8,并且正在考虑在 Python 之前尝试在 Excel 中解决这个问题(。
感谢您的任何输入!
答:多亏了 selllikesybok,我能够将列的所有值替换为没有 ç 的临时列,然后将值从那里复制/粘贴回原始列。
# -- substitutes non ascii c --
# populates Z column with ascii chars
for i in range(lastRow):
excel.Cells(i+1, 26).Value = '=SUBSTITUTE(D'+str(i+1)+', CHAR(231), "c")'
# copies z
excel.Range('Z1:Z'+str(lastRow)).Select()
excel.Selection.Copy()
# pastes values to d
excel.Range('D1:D'+str(lastRow)).Select()
excel.Selection.PasteSpecial(Paste=-4163) # -4163 = Paste Values
# clears z
excel.Range('Z1:Z'+str(lastRow)).Select()
excel.Selection.Clear()
# resets view to top
excel.Range('A2').Select()
excel.Selection.Clear()
对于 Excel 解决方案,您正在寻找 CHAR()
函数:
如果您要更改的字符串在 A1 中,这将解决问题:
=SUBSTITUTE(A1,CHAR(231),"c")
我比 Python 更了解 Excel,但您可能会在 python 代码中做类似的事情(参考代码点而不是字符,以避免在 .py 文件中写入实际的非 ascii 字符(。