替换 Python 中出现的特定字符串
Replacing specific occurrences of strings in Python
假设我有
examplestring='hello abcde hello xyz hello goodbye'.
我想将第二次出现的 'hello' 替换为 'bye',而不替换所有出现的 'hello'。
我该怎么做?
你可以试试这个,
re.sub(r'^(.*?hello.*?)hello', r'bye', s)
或
re.sub(r'^(.*?\bhello\b.*?)\bhello\b', r'bye', s)
你可以 split
然后 join
:
In [1]: s = 'hello abcde hello xyz hello goodbye'
In [2]: words = s.split('hello')
In [3]: 'hello'.join(words[:2]) + 'bye' + 'hello'.join(words[2:])
Out[3]: 'hello abcde bye xyz hello goodbye'
假设我有
examplestring='hello abcde hello xyz hello goodbye'.
我想将第二次出现的 'hello' 替换为 'bye',而不替换所有出现的 'hello'。
我该怎么做?
你可以试试这个,
re.sub(r'^(.*?hello.*?)hello', r'bye', s)
或
re.sub(r'^(.*?\bhello\b.*?)\bhello\b', r'bye', s)
你可以 split
然后 join
:
In [1]: s = 'hello abcde hello xyz hello goodbye'
In [2]: words = s.split('hello')
In [3]: 'hello'.join(words[:2]) + 'bye' + 'hello'.join(words[2:])
Out[3]: 'hello abcde bye xyz hello goodbye'