亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

str.replace 除非字符串后跟某些文本

str.replace 除非字符串后跟某些文本

撒科打諢 2024-01-04 10:34:50
先前問題的修改:如何將所有“,”(即逗號然后空格)替換為“_”,除非“,”(逗號然后空格)后跟單詞“LLC”或“Inc”(然后什么都不做)?我想改變:“德克薩斯能源互助有限責任公司、鮑比·吉利姆、史蒂夫·佩雷拉和安迪·斯蒂特”“葡萄有限責任公司、安德里亞·格雷、杰克·史密斯”“史蒂芬·溫特斯,蘋果,梨公司,莎拉·史密斯”對此:“德克薩斯能源互助有限責任公司_BOBBY GILLIAM_STEVE PEREIRA_ANDY STITT”“葡萄有限責任公司_安德里亞·格雷_杰克·史密斯”“史蒂芬·溫特斯_蘋果_梨公司_莎拉·史密斯”我認為它會從下面代碼的一些變化開始,但我無法弄清楚例外條件。df['Column_Name'] = df['Column_Name'].str.replace(', ','_') 干杯!
查看完整描述

3 回答

?
四季花海

TA貢獻1811條經驗 獲得超5個贊

您可以將正則表達式替換為負lookahead:

#no idea why Inc|LLC or LLC|Inc will skip the first

df['Column_Name'].str.replace(', (?!=|Inc|LLC)', '_')

輸出:


0? ? TEXAS ENERGY MUTUAL, LLC_BOBBY GILLIAM_STEVE P...

1? ? ? ? ? ? ? ? ? ? Grape, LLC_Andrea Gray_Jack Smith

2? ? ? ? ? Stephen Winters_Apple_pear, Inc_Sarah Smith

Name: ColumnName, dtype: object


查看完整回答
反對 回復 2024-01-04
?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

使用 python 正則表達式模塊re?for 與模式, (?!Inc|LLC)查找所有出現的?, 不帶以下IncLLC


import re


strings = ["Banana, orange", "Grape, LLC", "Apple, pear, Inc"]


[re.sub(", (?!Inc|LLC)",'_',string) for string in strings]

#['Banana_orange', 'Grape, LLC', 'Apple_pear, Inc']




查看完整回答
反對 回復 2024-01-04
?
LEATH

TA貢獻1936條經驗 獲得超7個贊

簡單的方法:


def replace(str):

   x = str.split(', ')

   buf = x[0]

   for i in range(1, len(x)): 

      if x[i].startswith('LLC'):

         buf += ', ' + x[i]

      elif x[i].startswith('Inc'):

         buf += ', ' + x[i]

      else:

         buf += '_' + x[i]

   return buf

然后嘗試replace('a, b, LLC, d')


查看完整回答
反對 回復 2024-01-04
  • 3 回答
  • 0 關注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號