【问题标题】:Cutting string in python在python中切割字符串
【发布时间】:2018-07-13 21:47:22
【问题描述】:

我做了一些搜索,但找不到任何有用的信息。

s = ['33PM']

我的目标是从s[0] 中删除“PM”并将其附加为s[1]

【问题讨论】:

  • 也许阅读标准 Python 文档中提供的 Python 教程是有意义的。 Here是字符串的介绍,后面是列表的介绍。

标签: python slice


【解决方案1】:

您可以使用re.findall 提取连续范围的数字和字符。 \d+ 将提取所有数字,\w+ 将提取所有字符范围

>>> import re 
>>> s = re.findall(r'\d+|\w+', s[0])
>>> s
['33', 'PM']

【讨论】:

  • 你能解释一下吗? (感谢您的解释!)
  • 如果我想将 ['123'] 剪切为 ['1','23'] 怎么办?
  • 在什么基础上想把'123'删减成?我们怎么知道它必须是['1','23'] 还是['12','3']
  • 保留 s[0] 的第一个字符并将 else 剪切到 s[1],也许?
  • 这会有帮助吗? s=['123']; s=[s[0][0], s[0][1:]]
【解决方案2】:

这是一种使用简单 Python 代码的方法,避免了正则表达式的复杂性。这是为当您知道'PM' 在字符串中时设计的,如果字符串中有任何文本,那么它将与'PM 一起移动到第二个列表项。此代码还假设您只关心列表中的第一项 - 任何后面的项都将被删除。

s = ['33PM']

string0 = s[0]
loc = string0.find('PM')
s = [string0[:loc], string0[loc:]]

如果你现在打印s,结果是

['33', 'PM']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多