【问题标题】:Extract integer from string with Python [duplicate]用Python从字符串中提取整数[重复]
【发布时间】:2021-05-19 04:47:53
【问题描述】:

我可以知道从字符串中提取int 的其他方法吗?

str_int='S1'

int ( "".join ( [xx for xx in list ( str_int) if xx.isdigit ()] ) )

我认为我目前的做法是矫枉过正。 如果这篇文章被认为是重复的,请将我链接到相应的 OP。

【问题讨论】:

  • 使用正则表达式\d+
  • 这能回答你的问题吗? How to extract numbers from a string in Python?
  • 最优解取决于字符串的结构。例如,如果整数前总是有 4 个字母,则 int(s[4:]) 比正则表达式更好:)
  • @costaparas 不,问题是基于空格分隔的单词和数字
  • 嗨@kol,问题包含多个数字(例如,S1 S11 S111 等)。但是根据您的建议,我想我可以省略第一个字母并将 str 的其余部分转换为 int。顺便说一句,谢谢你的想法

标签: python split


【解决方案1】:

使用正则表达式:

import re
str_int='S1'
my_digits = re.findall(r'\d+', str_int)
print(my_digits)


## output
['1']

【讨论】:

    【解决方案2】:

    “问题包含多个数字(例如,S1 S11 S111 等)”

    只需删除第一个字符并将其余字符转换为整数:int(s[1:])

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-14
      • 2018-12-14
      • 1970-01-01
      • 1970-01-01
      • 2017-11-26
      • 1970-01-01
      • 2015-11-30
      • 1970-01-01
      相关资源
      最近更新 更多