如何在较大的字符串中找到两个特殊字符之间的字符串



我有一个代码,它以字符串格式生成结果。格式由给出

variable[a,b] 

其中a和b是字符串中的两个不同数字。例如,以下是一些结果:

result = "variable[21,30]"
result = "variable[19,27]"
result = "variable[11,16]"

我的目标是取字符串中的第二个数字。在示例中,第二个数字是30、27和16。为了找到它们,我使用了下面的简单代码:

second number = result[12:14]

在这些情况下,所有数字都是两位数。所以我知道第二个数字在字符串的字符12和14之间。但是,当数字的位数可以在1到4位数的范围内时,我的问题就出现了。因此,我不知道字符串中第二个数字的位置!。例如:

result = "variable[1,230]"
result = "variable[19,2]"
result = "variable[61,1672]"

那么,我怎样才能找到第二个数字呢?

我知道第二个数字在字符"之间"one_answers"]&";。因此,我正在考虑一种方法,使我可以通过特定的符号而不是位置来获取字符串的一部分。我知道下面的代码是不正确的,但只是举个例子,不是定义范围,而是定义符号如下:

second number = result[ "," : "]" ]

您可以使用以下代码:

second_number = result.split(',')[1][:-1]

好吧,当你想找到字符串中特定字符的位置时,你可以使用find((方法。

因此,当寻找第二个数字时,您的代码应该看起来像:

start = result.find(",")
end = result.find("]")
second_number = result[start+1:end]

小心

您可以使用re.split((方法:

>>> import re
>>> values = re.split(r'[[],]', result)
>>> values
['variable', '1', '230', '']
>>> second_number = int(values[-2])
>>> second_number
230

>>> second_number = re.split(r'[[],]', result)[-2]
'230'

相关内容

  • 没有找到相关文章

最新更新