2024-09-24 02:17:46 发布
网友
假设我有一个字符串,s=“panipanamPanjoepan”。从这里我想找到单词pan并用空格替换它,这样我就可以得到输出字符串“I AM JOE”。我该怎么做
实际上,我也不知道如何从没有空格的长字符串中找到特定的子字符串。 如果有人能帮我了解这一点,那就太好了
正如DarrylG和其他人所提到的,.replace将按照您的要求执行,您可以定义要替换的内容(“pan”)以及要用(“”)替换的内容
.replace
要在较长的字符串中查找某个字符串,可以使用.find(),它将要查找的字符串以及从何处开始和停止查找它(作为整数)作为参数
.find()
如果要在较大的字符串中查找字符串的所有匹配项,有两个选项:
find()
-1
regex
.finditer
编辑:如果你不知道你在搜索什么,这会变得有点棘手,但是你可以编写一个正则表达式,使用相同的正则表达式模块来提取这些数据。这很容易,如果你知道最终的结果应该是什么(在你的情况下,我是乔)。如果您不这样做,它会变得更加复杂,我们需要更多的信息来帮助您
s="panpanIpanAMpanJOEpan" print(s.replace("pan"," ").strip())
使用替换
输出:
I AM JOE
如果你不知道pan,你可以利用你想要找到的字母都是大写的
fillword = min(set("".join(i if i.islower() else ' ' for i in s).split(' '))-set(['']),key=len)
首先用空格替换所有大写字母,然后在空格上拆分并找到最小的非空单词
使用replace替换为空格,然后使用strip删除多余的间距
replace
strip
s="panpanIpanAMpanJOEpan" s.replace(fillword,' ').strip()
给出:
'I AM JOE'
正如DarrylG和其他人所提到的,
.replace
将按照您的要求执行,您可以定义要替换的内容(“pan”)以及要用(“”)替换的内容要在较长的字符串中查找某个字符串,可以使用
.find()
,它将要查找的字符串以及从何处开始和停止查找它(作为整数)作为参数如果要在较大的字符串中查找字符串的所有匹配项,有两个选项:
find()
查找字符串,然后剪切该字符串,使其不再包含searchterm,并重复此操作,直到.find()
方法返回-1
(这意味着在字符串中再也找不到searchterm)regex
模块并使用.finditer
方法查找字符串Link to someone explaining exactly that on stackoverflow.的所有出现处编辑:如果你不知道你在搜索什么,这会变得有点棘手,但是你可以编写一个正则表达式,使用相同的正则表达式模块来提取这些数据。这很容易,如果你知道最终的结果应该是什么(在你的情况下,我是乔)。如果您不这样做,它会变得更加复杂,我们需要更多的信息来帮助您
使用替换
输出:
如果你不知道pan,你可以利用你想要找到的字母都是大写的
首先用空格替换所有大写字母,然后在空格上拆分并找到最小的非空单词
使用
replace
替换为空格,然后使用strip
删除多余的间距给出:
相关问题 更多 >
编程相关推荐