Python - 从包含字母、数字和符号的字符串中获取数字
Python - Get a number from a string containing letters, numbers and symbols
我想从字符串中获取一个数字,数字的各个部分用逗号分隔,还有一些其他符号,数字范围从 1 到 1 亿,所以逗号的数量会有所不同。这是一个例子:
输入
Balance added **⏣ 5,358**: 127%\n**User Balance**: ⏣ 9,951,203'}
输出:
9951203
我需要 **User Balance**:
之后的数字,忽略它之前的所有数字。
我试过自己制作一个正则表达式,但我似乎无法在 **User Balance**:
之后得到数字而不包括字符串中的单词,而且我不知道如何处理逗号,这令人沮丧对我来说,我在这上面花了几个小时,但其他人可以在一分钟内完成,所以在这里我打算问问其他人 :D
希望我提供了足够的信息来帮助你帮助我,在此先感谢!
我不明白字符串信息是否会改变,所以这可能是一个错误的答案。但我总是喜欢在此类问题中使用 .split
或一般切片。喜欢:
my_string = "Balance added **⏣ 5,358**: 127%\n**User Balance**: ⏣ 9,951,203'}"
my_string.split("User Balance**: ⏣")[-1]
这会让你
9,951,203'}
然后,就像 lucians 在他的评论中写的那样,您可以尝试用 try/except 或其他方式找到整数,然后组合起来。
int(string.split("User Balance**: ⏣")[1].replace("\'}","").replace(",",""))
输出
9951203
import re
log = "Balance added **⏣ 5,358**: 127%\n**User Balance**: ⏣ 9,951,203'}"
user_balance = re.search(r"User Balance.*?([\d,]+)", log).group(1).replace(",", "")
我想从字符串中获取一个数字,数字的各个部分用逗号分隔,还有一些其他符号,数字范围从 1 到 1 亿,所以逗号的数量会有所不同。这是一个例子:
输入
Balance added **⏣ 5,358**: 127%\n**User Balance**: ⏣ 9,951,203'}
输出:
9951203
我需要 **User Balance**:
之后的数字,忽略它之前的所有数字。
我试过自己制作一个正则表达式,但我似乎无法在 **User Balance**:
之后得到数字而不包括字符串中的单词,而且我不知道如何处理逗号,这令人沮丧对我来说,我在这上面花了几个小时,但其他人可以在一分钟内完成,所以在这里我打算问问其他人 :D
希望我提供了足够的信息来帮助你帮助我,在此先感谢!
我不明白字符串信息是否会改变,所以这可能是一个错误的答案。但我总是喜欢在此类问题中使用 .split
或一般切片。喜欢:
my_string = "Balance added **⏣ 5,358**: 127%\n**User Balance**: ⏣ 9,951,203'}"
my_string.split("User Balance**: ⏣")[-1]
这会让你
9,951,203'}
然后,就像 lucians 在他的评论中写的那样,您可以尝试用 try/except 或其他方式找到整数,然后组合起来。
int(string.split("User Balance**: ⏣")[1].replace("\'}","").replace(",",""))
输出
9951203
import re
log = "Balance added **⏣ 5,358**: 127%\n**User Balance**: ⏣ 9,951,203'}"
user_balance = re.search(r"User Balance.*?([\d,]+)", log).group(1).replace(",", "")