替换Python中字符串的一部分-
我想替换Python中字符串的一部分。特别是,我想去掉结构替换Python中字符串的一部分-,python,replace,Python,Replace,我想替换Python中字符串的一部分。特别是,我想去掉结构“Hello[hi,…,bye]”,其中点表示任意长度的字符 我发现其中解释了如何使用replace,但我不知道如何将模式“Hello[hi,…,bye]”与任意一段字符串替换为“…” 例1: text= "Hello.hi[. Hello[hi, my name is alice ,bye] ,bye]" 我想要:result=“你好,我叫爱丽丝456,再见” 但我希望同样的模式也适用于示例2: text= "Hello.hi[.,
“Hello[hi,…,bye]”
,其中点表示任意长度的字符
我发现其中解释了如何使用replace,但我不知道如何将模式“Hello[hi,…,bye]”与任意一段字符串替换为“…”
例1:
text= "Hello.hi[. Hello[hi, my name is alice ,bye] ,bye]"
我想要:result=“你好,我叫爱丽丝456,再见”
但我希望同样的模式也适用于示例2:
text= "Hello.hi[., Hello[hi, have a good day ,bye] ,bye]"
我想要:result=“你好,你好[,祝你今天愉快456,再见]”
有什么建议吗?谢谢。使用
替换
text= "Hello[hi, my name is alice ,bye] "
text.replace('hi,', '123').replace(',bye', '456')
>>> 'Hello[123 my name is alice 456] '
“你好[你好,祝你一天愉快,再见]”这句话同样适用。试试这个
index_l=[]
x=0
for i in text:
if i == ',':index_l.append(i)
output = text[index_l[0]:index_l[1]]
print output
谢谢大家。我已经用这个帖子解决了这个问题
解决方案
import re
text="Hello[hi, my name is alice ,bye]"
search = re.compile(r'Hello\[hi,(.*?),bye\]')
a=search.sub('123\\1 456', text)
print(a)
可能的重复只会去掉逗号中包含的字符串!谢谢@Ubdus Samad,但这也不起作用,因为我有一个包含大量Coma的大文本。这些例子只是一些句子。我想知道a是否可以匹配整个模式“Hello[hi,…,bye]”然后学习正则表达式!你没有足够的替换。应该是:text.replace('Hello[hi','123')。replace('bye]','456')
hi,谢谢你的回答!我已经试过了,但是我没有得到我想要的。我编辑这篇文章是为了让问题更清楚。@yago:我明白了。您绝对应该使用regex
(import re
)搜索/替换。有关Python的使用,请参阅internet上的手册。@Artur Barseghyan,谢谢!是的,我一直在读关于regex的书,但我是一个初学者,我还不能解决它,所以我在这里发了帖子,以防有人能告诉我。不过我会继续读下去。再次感谢。@yago:您只想替换开头和结尾括号中的单词吗?否则,请把你的问题说得非常具体。