如何将字符串转换为整数并从该更改中删除每个字符.例:
S = "--r10-" 我想要这个: S = 10
这不起作用:
S = "--10-"
int(S)
Run Code Online (Sandbox Code Playgroud)
您可以使用filter(str.isdigit, s)仅保留那些s数字的字符:
>>> s = "--10-"
>>> int(filter(str.isdigit, s))
10
Run Code Online (Sandbox Code Playgroud)
请注意,这可能会导致包含多个数字的字符串出现意外结果
>>> int(filter(str.isdigit, "12 abc 34"))
1234
Run Code Online (Sandbox Code Playgroud)
或负数
>>> int(filter(str.isdigit, "-10"))
10
Run Code Online (Sandbox Code Playgroud)
编辑:要使unicode对象而不是str对象,请使用
int(filter(unicode.isdigit, u"--10-"))
Run Code Online (Sandbox Code Playgroud)