是否可以在Excel中找到一个字符串,然后替换所有找到的字符和前一个字符?在
我要求的原因是尝试用“可变文本外观修复”替换“可变文本外观修复”,而不实际键入非ASCII“ç”。我尝试过SUBSTITUTE(text,old_text,new_text)函数,它不允许我在old_text字段中使用通配符来获取ç,还尝试了Find and Replace函数,它允许我在搜索中使用通配符,但随后会替换整个字符串,而不仅仅是“Facade”。在
我希望避免使用ç,因为这是在python模块中编写的,每当我将该模块导入其他地方时都会引起问题。(我已经尝试过在python脚本中声明编码,#coding=utf-8,并且考虑在Excel进入python之前用Excel解决这个问题)。在
谢谢你的意见!在
答:多亏了sellikesybok,我能够将列的所有值替换为不带ç的temp列,然后将值从那里复制/粘贴回原始列。在
# -- 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,而不是用Python编写的类似字符。在
相关问题 更多 >
编程相关推荐