python - 从句子中解析数字
问题描述
我有一个看起来像这样的句子:
word word - word -word- $1.2 - $2,222 $5 '
我需要得到所有的数字,但是在这种情况下,一个和两个之间的破折号实际上被认为是一个数字。所以我想得到一个看起来像这样的数组: [ $1.2 | - | $2,222 | $5]
美元符号不是问题
我正在尝试这个:
(\s+-(?![a-zA-Z]*5)|[\$\d\.,]+\s
这个想法是我想要一个没有字母的破折号,或者一个数字复数(一堆数字、点和逗号),以及它周围的任何空格。
我目前得到这个:
- - $1.2 $2,222 $5
......我不想要的所有破折号和我想要的破折号。
解决方案
我不确定如何在正则表达式中执行此操作,但我是这样做的(可能比正则表达式更简单):
myList = []
numbers = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "$", ".", ","]
myString = "word word - word -word- $1.2 - $2,222 $5 '"
for word in myString.split(" "):
isNumber = True
for letter in word:
if letter not in numbers:
isNumber = False
if isNumber:
myList.append(word)
print(myList)
我希望这会有所帮助,即使它不是您想要的。如果您需要解释,请发表评论,我很乐意解释。
推荐阅读
- php - 找不到类“Laracon21\Colorcodeconverter\ColorcodeconverterServiceProvider”
- r - smotefamily::SMOTE -> get.knnx(data, query, k, algorithm) 中的错误:数据非数字
- python - ImageDataGenerator .next() 这可以等同于 mnist.train.next_batch 吗?
- python - 定义需要传递给另一个函数的函数的最佳方法是什么?
- wolfram-mathematica - 求解隐函数系统 - 解只满足一个方程
- django - 在上下文处理器中传递用户上下文后,Django 'AnonymousUser' 对象不可迭代
- java - 从 EditText 的建议中选择文本时出现 Android 异常
- angular - 从页脚函数内部访问pdfmake页码和局部变量
- sql - 增量计算重复行PostgreSQL
- javascript - 重置 Chrome PDF 查看器侧边菜单