【发布时间】:2017-10-06 04:48:33
【问题描述】:
我想从字符串中替换一些 word。例如。 'eq' 到 '=','gt' 到 '>'
举个例子:
s = "name eq 'alex' and age gt 36" to "name = 'alex' and age > 36"
我不能使用 string.replace() 因为它会替换字符。
我应该拆分句子然后re.sub(r'^eq$', '=', s)吗?是否有捷径可寻?
ps。我不想做s.replace(' eq ', ' = '),因为字符串的开头或结尾可能有单词。例如,将 sender eq me 中的 me 替换为 'alex' 应该会导致 sender = 'alex'
【问题讨论】:
-
"不能使用 string.replace(),因为它会替换字符"
-
我不太确定您不想使用 string.replace() 的原因。这似乎是您想要实现的目标的完美解决方案
-
他可能的意思是他不希望像
equity这样的东西变成=uity -
如果
eq、gt和lt分词表示,使用string.replace是没有问题的。 -
@bulbus OP 说“我不想做 s.replace(' eq ', ' = ') 因为字符串的开头或结尾可能有单词”我认为这意味着它并不总是以空格分隔。那么预期的输出是
a eq b,eqe = b,'a'= b,(a)= b
标签: python regex string replace