Python中如何编写正则表达式移除指定字符提取列表数值
正则实现方案
你需要的正则表达式直接匹配所有待删除的目标字符即可,同时注意修正原代码中re.sub缺少替换参数的问题。
可用正则规则
r'[\[\]\n]'
- 方括号
[]是正则的字符集语法,匹配括号内枚举的任意一个字符 \[匹配左方括号[:[是正则特殊元字符,需要加反斜杠转义\]匹配右方括号]:同样属于需要转义的特殊元字符\n匹配换行符- 替换时传入空字符串
''作为替换值,即可删除所有匹配到的目标字符
完整可运行代码
import re a = '[[0.1 0.1 0.1 0.1]\n [1.2 1.2 1.2 1.2]\n [2.3 2.3 2.3 2.3]\n [3.4 3.4 3.4 3.4]]' regex_expression = r'[\[\]\n]' # re.sub第二个参数为替换内容,传空字符串表示删除匹配到的内容 a_transformed = re.sub(regex_expression, '', a) print(a_transformed) # 运行输出:0.1 0.1 0.1 0.1 1.2 1.2 1.2 1.2 2.3 2.3 2.3 2.3 3.4 3.4 3.4 3.4
补充说明
如果你使用第三方regex库,正则写法完全一致,只需要保证导入模块和调用的模块对应即可,不需要修改匹配规则。
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

