【问题标题】:Python replace front substring and back substringPython替换前子串和后子串
【发布时间】:2019-07-23 00:53:32
【问题描述】:

假设我有一个字符串"abc_123_def",我想“删除”"abc_""_def" 并留下"123"

我目前有两个替换语句:

s = "abc_123_def"
s.replace("abc_",'')
s.replace("_def",'')

有没有更好的单行方式来做到这一点?

【问题讨论】:

  • 我想删除那些特定的序列。

标签: python string optimization replace


【解决方案1】:
s = "abc_123_def"
s = s.replace("abc_",'').replace("_def",'')

【讨论】:

  • 我没有意识到python允许你像这样链接方法!
  • 只要调用返回一个值,任何体面的语言都可以让你像这样链接调用。
  • 是的,因为s.replace("abc_",'') 返回一个字符串,然后可以将其放入另一个函数调用中。
【解决方案2】:

您可以使用下面的正则表达式来准确识别下划线之间的值。

>>> import re
>>> s = 'abc_123_def'
>>> re.findall('_(.*?)_', s)[0]
'123'
>>>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 2016-12-24
    • 2012-04-18
    • 2015-03-17
    • 1970-01-01
    • 2012-09-05
    相关资源
    最近更新 更多