![](/img/trans.png)
[英]How do I replace a substring with another string that contains that substring as a part of it using regex in python
[英]Python Regex how to match a substring without replace a part of that
我有以下句子:
句子=“工作\n經驗\n\n初體驗......”
Work
Experience
First Experience...
所以,我想刪除工作和體驗之間的“\n”,但同時我不想在體驗之后刪除“\n\n”。
Work Experience
First Experience...
我嘗試了不同的解決方案,例如:
string = re.sub(" \n{1}[^\n]"," ",sentence)
但它們都刪除了 \n (E) 之后的第一個字符。
更新:感謝@Wiktor,我設法找到了解決方案
print(re.sub(r'\w.*?\w+', lambda x: x.group().replace('\n', ''), 句子, flags=re.S))
如果你想讓它成為一個通用的解決方案來刪除任意數量的\n
,一個換行符,在兩個字符串之間,你可以使用
import re
sentence = "Work \nExperience \n\n First Experience..."
print( re.sub(r'Work.*?Experience', lambda x: x.group().replace('\n', ''), sentence, flags=re.S) )
請參閱Python 演示。 Output:
Work Experience
First Experience...
帶有re.S
的Work.*?Experience
匹配(包括) Work
和Experience
之間的任何子字符串,然后在刪除所有換行符時在每次匹配時處理匹配數據 object ( x
) usign .replace('\n', '')
並且這些修改后的字符串作為替換模式返回給re.sub
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.