我開始學習正則運算式以匹配 python 列中的單詞并將它們替換為其他值。
df['col1']=df['col1'].str.replace(r'(?i)unlimi \w*', 'Unlimited', regex=True)
此模式用于匹配無限世界的不同變化。但是我在列中有一些值不僅有一個詞,而且有兩個或更多:例如:
[Unlimited, Unlimited (on-net), Unlimited (on-off-net)]`
我想知道是否有一種方法可以將前面示例中的所有單詞與單個正則運算式行匹配。
uj5u.com熱心網友回復:
您可以使用
df['col1']=df['col1'].str.replace(r'(?i)unlimi\w*(?:\s*\([^()]*\))?', 'Unlimited', regex=True)
請參閱正則運算式演示。
正(?i)unlimi\w*(?:\s*\([^()]*\))?則運算式匹配
(?i)- 右邊的正則運算式不區分大小寫unlimi- 固定字串\w*- 零個或多個字字符(?:\s*\([^()]*\))?- 一個可選的序列\s*- 零個或多個空格\(- 一個(字符[^()]*(- 除了and之外的零個或多個字符)\)- 一個)字符。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/443616.html
上一篇:通過分隔符將單元格分成兩行
