[这个问题我又不想问了]求一个替换转义字符的方法
发表于 : 2013-04-09 11:46
https://github.com/NoIE/bedit
我想给程序添加一个替换的功能。
程序下面有两个文本框,查找文本框、替换文本框,我想利用文本框,将 “<br>” 替换为回车,也就是 “\n”,但是如果直接使用,只会将<br>替换成\n,而不是硬回车。现在我的程序是这样的:
也就是使用自己编写的 escape 将\n替换为硬回车,但是这样只能替换四个转义字符,又没有什么函数可以替换全部的转义字符呢?
我不想使用 eval,因为 eval("\"abc\"") 会变成 abc 。
我想给程序添加一个替换的功能。
程序下面有两个文本框,查找文本框、替换文本框,我想利用文本框,将 “<br>” 替换为回车,也就是 “\n”,但是如果直接使用
代码: 全选
b.set_text(t.replace(old,new))
代码: 全选
def all_replace(self, old, new):
"""全文替换,这个函数在 document 类里面。"""
b = self.get_buffer()
t = b.get_text(b.get_start_iter(), b.get_end_iter(), False)
b.set_text(t.replace(old,new))
代码: 全选
def escape(self, string):
"""手动转换"""
n = string.replace('\\n','\n')
n = n.replace('\\t','\t')
n = n.replace('\\v','\v')
n = n.replace('\\0','\0')
return n
代码: 全选
def all_replace(self, button):
"""全文替换,这个函数调用 document 里的 all_replace 函数。"""
self.get_document().all_replace(self.escape(self.findFindText.get_text()),self.escape(self.findReplaceText.get_text()))
我不想使用 eval,因为 eval("\"abc\"") 会变成 abc 。