有时候字符编码会出错,而不是“它是”,你最终会得到“它?”。 使用Python,任何人都可以建议表达式/函数,这将允许我确定包含“?”的字符串的这些实例,但不是在单词的末尾?
“这是吗?不,没关系”=错误
“这是这个”=真
答案 0 :(得分:4)
s = "Is This It? Nope, that's fine"
'?' in s[:-1].replace('? ','')
答案 1 :(得分:1)
听起来像是我的正则表达式的工作:
import re
re.match(r'\w+?\?\w+?',"Is This It? Nope, that's fine") ##Returns a 'match object' which evaluates to True
re.match(r'\w+?\?\w+?',"It?s This") ##Returns None which evaluates to False
然后,如果你想替换它:
re.sub(r'(\w+?)\?(\w+?)',r'\1\2',"It?s This") ##Returns "Its This"
正则表达式:'\ w +?\?\ w +?'。
匹配一个或多个单词字符:'\ w +?'。
然后是一个实际的问号(逃脱):'\?'
再跟一个或多个单词字符:'\ w +?'。
这确保问号实际上在一个单词的中间。
至于替换问号,在表达式中添加括号如下:'(\ w +?)\?(\ w +?)'
创建2个捕获组,然后您可以将其引用为您想要的输出中的第一组和第二组,如下所示:'\ 1 \ 2'左边没有问号。