python提取字符串中的中文和阿拉伯数字,包括小数
时间: 2024-10-29 20:19:57 浏览: 14
详解Python3中字符串中的数字提取方法
5星 · 资源好评率100%
在Python中,你可以使用正则表达式(`re`模块)来提取字符串中的中文字符、阿拉伯数字以及小数。下面是一个简单的示例:
```python
import re
def extract_chinese_numbers(s):
pattern = r'[\u4e00-\u9fa5]+|[-+]?\d+(\.\d+)?' # 匹配中文字符和数字(包括小数点)
match_results = re.findall(pattern, s)
chinese_chars = [match.group() for match in match_results if '\u4e00' <= match.group(0) <= '\u9fa5'] # 提取中文
nums = [float(match.group()) if '.' in match.group() else int(match.group()) for match in match_results if not chinese_chars] # 提取阿拉伯数字和小数
return {'Chinese': chinese_chars, 'Numbers': nums}
# 示例
text = "这个字符串里有123.45的数字和一些中文字符,如你好世界"
result = extract_chinese_numbers(text)
print(result)
```
这段代码会返回一个字典,其中包含两个键值对:`Chinese`对应的是字符串中的所有中文字符,`Numbers`对应的是所有的阿拉伯数字(包括小数)。如果遇到不能转换为浮点数的非数字字符串,则会被忽略。
阅读全文