gpt4 book ai didi

python - 使用正则表达式删除不需要的字符串结尾

转载 作者:太空宇宙 更新时间:2023-11-04 00:42:33 28 4
gpt4 key购买 nike

我正在努力执行一些正则表达式来删除尾随的无关字符。我已经尝试了一些我在这里找到的想法,但没有一个是我正在寻找的。

数据看起来像这样(只有一列数据):

City1[edit]

City2 (University Name)

City with a Space (University Name)

Etc.

基本上,我在这里遇到的麻烦是我不一定能删除空格后的所有内容,因为有时城市名称包含空格(“纽约市”)。

但是,我认为我可以采用三步法:

  1. 替换 [],(),{} 字符集之间的任何内容(这将删除示例数据中的“编辑”和“大学名称”。
  2. 替换 [],(),{} 类型的字符,因为它们现在是额外的字符。
  3. 修剪任何尾随空格(这将保留城市名称中的空格,例如圣保罗)

我有两个主要问题: 1. 有没有办法在一个命令中执行此操作,还是必须使用三个单独的命令? 2. 如何使用正则表达式删除特定字符之间的字符?

我尝试过的代码:

  1. DF[0].replace(r'[^0-9a-zA-Z*]$', "", regex=True, inplace = True) ---然而,这只替换了特殊字符的最终迭代

  2. DF[0].replace(r'[\W+$|^0-9a-zA-Z*]',"",regex=True, inplace=True) --不幸的是,这只是替换了所有内容,让我的所有数据空白

最佳答案

如果您总是知道首先出现的括号字符,您可以这样做:

创建数据

df=pd.DataFrame({'names':['City1[edit]', 
'City2 (University Name)',
'City with a Space {University Name}']})

然后替换第一个括号后的所有内容。

df.names.str.replace('\[.*|\(.*|\{.*', '').str.strip()

输出

0                City1
1 City2
2 City with a Space

关于python - 使用正则表达式删除不需要的字符串结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41251068/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com