python替换不同随机名称的名称

python替换不同随机名称的名称,python,replace,Python,Replace,我想用不同的名字来替换这些句子,但我不知道为什么它会起作用 text="hi, my name is angle enrico, how is everything going?" s = text.replace(r'hi, my name is\s+','') print(s) 我想有一个输出“一切都好吗?”,但我得到的是“嗨,我的名字是安格尔·恩里科,一切都好吗?” 有人知道怎么解决吗 看起来您正试图在非正则表达式上下文中使用正则表达式语法。您的代码当前正在搜索文本字符串hi,我的名字是

我想用不同的名字来替换这些句子,但我不知道为什么它会起作用

text="hi, my name is angle enrico, how is everything going?"
s = text.replace(r'hi, my name is\s+','')
print(s)
我想有一个输出“一切都好吗?”,但我得到的是“嗨,我的名字是安格尔·恩里科,一切都好吗?”
有人知道怎么解决吗

看起来您正试图在非正则表达式上下文中使用正则表达式语法。您的代码当前正在搜索文本字符串
hi,我的名字是\s+
,它显然不存在于您的输入字符串中

您需要做的是编写一个正则表达式来捕获字符串的开头,然后将其传递到
文本中。替换

尝试使用:

s = text.replace('hi, my name is','')
print(' '.join(s.split()[2:]))
或:

两者都再现了:

how is everything going?

您需要使用正则表达式和模块

您想替换字符串中以“Hi,my name is”开头的部分,后跟任何内容(
*
),然后是逗号和至少一个空格(
,\s+

如果句子的结尾也可以包含逗号,则需要取尽可能小的“任何东西”,因此必须以非贪婪的方式(
*?
)执行

因此,你可以:

import re

text="hi, my name is angle enrico, how is everything going?"

s = re.sub(r'hi, my name is .*?,\s+', '', text)
print(s)
#how is everything going?
它还与句子中的第二个逗号连用:

text="hi, my name is fred,   I'm fine, thanks!"
s = re.sub(r'hi, my name is .*?,\s+', '', text)
print(s)
#I'm fine, thanks!

如果您试图编写代码的规则是删除“嗨,我的名字是angle enrico”,然后
text.replace(“嗨,我的名字是angle enrico,”,”)
我有许多不同的名字的不同句子,那么我正在做的\s+而不是不常用的名字,您能获得更多的示例输入和期望的输出吗?
import re

text="hi, my name is angle enrico, how is everything going?"

s = re.sub(r'hi, my name is .*?,\s+', '', text)
print(s)
#how is everything going?
text="hi, my name is fred,   I'm fine, thanks!"
s = re.sub(r'hi, my name is .*?,\s+', '', text)
print(s)
#I'm fine, thanks!