将带有撇号的字符串转换为 long(不是 int)
converting string with Apostrophes to long (not int)
如何将带有“70”(带有撇号)的字符串转换为长字符串
代码:
gap = long(x.film_index)- long (expected_film)
错误:ValueError:以 10 为底的 long() 无效文字:'"70"'
strip
转换前去掉引号。
>>> x = "\"70\""
>>> long(x.strip("\""))
70L
您可以使用正则表达式从给定字符串中仅提取数字:
import re
long(re.match(r'\d+', '"70"').group())
但是,如果您知道您的号码将 总是 被 "
包围,那么您可以轻松地从中构造一个新的 int
而无需第一个和最后一个字符:
long('"70"'.strip('"')) # or long('"70"'.replace('"', ''))
先使用 replace()
删除引号如何?
>>> x = '"70"'
>>> x
'"70"'
>>> long(x)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for long() with base 10: '"70"'
>>> long(x.replace('"', ''))
70L
如何将带有“70”(带有撇号)的字符串转换为长字符串
代码:
gap = long(x.film_index)- long (expected_film)
错误:ValueError:以 10 为底的 long() 无效文字:'"70"'
strip
转换前去掉引号。
>>> x = "\"70\""
>>> long(x.strip("\""))
70L
您可以使用正则表达式从给定字符串中仅提取数字:
import re
long(re.match(r'\d+', '"70"').group())
但是,如果您知道您的号码将 总是 被 "
包围,那么您可以轻松地从中构造一个新的 int
而无需第一个和最后一个字符:
long('"70"'.strip('"')) # or long('"70"'.replace('"', ''))
先使用 replace()
删除引号如何?
>>> x = '"70"'
>>> x
'"70"'
>>> long(x)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for long() with base 10: '"70"'
>>> long(x.replace('"', ''))
70L