Pandas字符串正则替换:排除特定单词外的连续多Z字符
解决Pandas中替换连续Z序列(排除PIZZA中的ZZ)的问题
核心方案
通过带负向前后断言的正则表达式,精准定位并替换**不属于单词PIZZA**的连续2个及以上Z字符,避免误匹配PIZZA内部的ZZ。
代码实现
假设你的DataFrame名为df,针对Name列执行以下操作:
import pandas as pd # 示例数据 df = pd.DataFrame({ 'Name': ['PIZZA NAME HERE ZZ HELLO', 'HELLO ZZZZZZZ WORLD'] }) # 正则替换逻辑 df['Name'] = df['Name'].str.replace(r'(?<!PI)Z{2,}(?!ZA)', '', regex=True) # 输出结果 print(df['Name'])
正则表达式说明
(?<!PI):负向后查找,确保目标Z序列的前两位不是PI,避免命中PIZZA里的ZZZ{2,}:匹配连续2个及以上的Z字符(?!ZA):负向前查找,确保目标Z序列的后两位不是ZA,进一步排除PIZZA的ZZ
运行结果
处理后的Name列内容:
0 PIZZA NAME HERE HELLO 1 HELLO WORLD Name: Name, dtype: object
内容的提问来源于stack exchange,提问作者Buracku
相关产品推荐
相关产品推荐

