【问题标题】:Split strings containing multiple delimiters拆分包含多个分隔符的字符串
【发布时间】:2023-03-13 08:04:01
【问题描述】:

我需要拆分以下字符串:

str1 = "0020 04,5",3

预期输出是:

['0020 04,5', '3'] 

我尝试的是

print [p for p in re.split('(|".+?"|,|)', a) if p.strip()]

【问题讨论】:

  • 你想分割的字符是什么?
  • 为什么预期的输出是['0020 04,5', '3']?这些多重分隔符是什么?
  • 也许您可以拆分所有非字母或数字的内容。为此,请参阅here
  • str1 = "0020 04,5",3not有效的Python字符串,请举个实际例子。
  • @Selcuk - 当然可以。这是一个tuple'0020 04,5' 作为第一个元素,3 作为第二个元素。我的意思是,发送到re.split() 的参数不合适,但它本身就是完全有效的 Python。

标签: python string split


【解决方案1】:

您可以将字符串转换为列表:

str1 = ['"0020 04,5",3']

并使用csv 模块:

>>> from csv import reader
>>> for line in reader(str1):
...     print line
... 
['0020 04,5', '3']

【讨论】:

    【解决方案2】:
    a=[]
    
    for x in str:
    
       a.append(x)
    
    print a
    
    ['0020 04,5', 3]
    

    另一种方式

    [a.append(x) for x in str]
    

    【讨论】:

    • 最后一个3 应该是一个字符串,而不是一个int。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多