网络编程
位置:首页>> 网络编程>> Python编程>> 如何提取python字符串括号中的内容

如何提取python字符串括号中的内容

作者:专攻数学的文科生  发布时间:2021-01-11 01:29:03 

标签:提取,python,字符串,括号

提取python字符串括号中的内容

一些数据按字符串保存,如str1 = '(1, 0.123) (2, 0.234)',当我们需要将字符串中的数据提取出来进行计算时,涉及只提出括号中的内容,此时可采取用Python re正则表达式模块和split()函数完成,操作过程略复杂。

有更简洁方法时再更新。

1. 首先用

re.findall(r'[(](.*?)[)]', str1)

将括号的内容提出来,结果是一个列表['1, 0.123', '2, 0.234']

2. 在用字符串分割函数将列表中每个值按', '分割,即split(', '),将分割后的每一项转换成数值类型。

整个例子如下:

如何提取python字符串括号中的内容

python字符串中括号内提取数字

1. 使用字符串切片方式

str1 = '拥有(220755)人评价'
# 将str1中数字部分提取出来
result = str1[3:9]
运行结果--->220755

注意:结果是可以提取出数字,不过这样的方式不具备灵活性。

例如当我字符串是'拥有(2207)人评价',以上代码就需要修改。这个方法显然不可行!

2. 使用filter函数

str1 = '拥有(220755)人评价'
result = filter(str.isdigit, str1)
result_list = list(result)
result_str = "".join(result_list)
运行结果--->220755

注意:此方法用到filter函数,同时需要转为列表输出,不能直接打印result

3. 正则表达式

import re
str1 = '拥有(220755)人评价'
result = re.match(r'.*[(](\d+)[)].*$', str1)
print(result.group(1))
运行结果--->220755

注意:

使用正则表达式时当遇到字符串本身就有括号的需要注意,当直接打括号时系统会认为这是在分组,所以可以需要使用[]的形式来解决这个问题

来源:https://blog.csdn.net/u014712482/article/details/80558125

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com