Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
替换Python中字符串的一部分-_Python_Replace - Fatal编程技术网

替换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[.,

我想替换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, 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:您只想替换开头和结尾括号中的单词吗?否则,请把你的问题说得非常具体。