尽管使用正则表达式,但无法删除字符串中带重音的特殊字符
Unable to remove accented special characters in a string despite using regex
我有以下代码
import re
oldstr="HR Director, LearningÂ"
newstr = re.sub(r"[-()\"#/@;:<>{}`+=&~|.!?,^]", " ", oldstr)
print(newstr)
以上代码无效。
当前结果
"HR Director, LearningÂ"
预期结果
"HR Director, Learning"
如何实现?
正在将我的评论转换为答案,以便未来的访问者可以轻松找到解决方案。
您可以使用:
import re
oldstr="HR Director, LearningÂ"
newstr = re.sub(r'[^\x00-\x7f]+|[-()"#/@;:<>{}`+=&~|.!?,^]+', "", oldstr)
print(newstr)
输出:
HR Director Learning
[^\x00-\x7f]
将匹配所有非 ASCII 字符。
你也可以用这个方法:
def _removeNonAscii(s):
return "".join(i for i in s if ord(i)<128)
这是我的一段代码的输出方式:
s = "HR Director, LearningÂ"
def _removeNonAscii(s):
return "".join(i for i in s if ord(i)<128)
print(_removeNonAscii(s))
输出:
人力资源总监,学习
我有以下代码
import re
oldstr="HR Director, LearningÂ"
newstr = re.sub(r"[-()\"#/@;:<>{}`+=&~|.!?,^]", " ", oldstr)
print(newstr)
以上代码无效。
当前结果 "HR Director, LearningÂ"
预期结果 "HR Director, Learning"
如何实现?
正在将我的评论转换为答案,以便未来的访问者可以轻松找到解决方案。
您可以使用:
import re
oldstr="HR Director, LearningÂ"
newstr = re.sub(r'[^\x00-\x7f]+|[-()"#/@;:<>{}`+=&~|.!?,^]+', "", oldstr)
print(newstr)
输出:
HR Director Learning
[^\x00-\x7f]
将匹配所有非 ASCII 字符。
你也可以用这个方法:
def _removeNonAscii(s):
return "".join(i for i in s if ord(i)<128)
这是我的一段代码的输出方式:
s = "HR Director, LearningÂ"
def _removeNonAscii(s):
return "".join(i for i in s if ord(i)<128)
print(_removeNonAscii(s))
输出:
人力资源总监,学习