如何在Python中使用Regex过滤掉特定字符



我需要regex从我的数据集中的字符串过滤出特定的字符。我如何过滤掉数字和"-"?符号,并跳过"-"符号,因为我现在使用的正则表达式会过滤掉每一个"-"除在数字字符之间外,任何字母数字字符之间的符号。

的例子:

问题:非营利组织管理,100-200名员工;当前成果:非营利组织管理,员工;期望结果:"非营利组织管理,员工";

if 'business' in row.keys():
row['business'] = re.sub("[0-9-][0-9]*", '', str(row['business']))

您需要使用表达式d+-d+,以便将所有-包括数字(d)替换为空字符串。

print(re.sub("d+-d+ *", "", "Non-Profit Organization management, 100-200 employees"))

"非营利组织管理,员工"的结果

注意我将*添加到模式中,以便也删除数字后面的空格。

:如果您多次执行此操作,我建议您执行如下操作:

import re
pattern = re.compile("d+-d+ *")
print(pattern.sub("", "Non-Profit Organization management, 100-200 employees"))

所以Python不需要每次都编译模式。

python:

string = "Non-Profit Organization management, 100-200 employees"
re.sub("(d+)-(d+)", "", string)

输出:

'Non-Profit Organization management,  employees'

相关内容

  • 没有找到相关文章

最新更新