当前位置: 首页 > 面试题库 >

如何将逗号分隔的字符串解析为列表(caveat)?

夏侯元忠
2023-03-14
问题内容

我需要能够像这样的字符串:

'''foo, bar, "one, two", three four'''

变成:

['foo', 'bar', 'one, two', 'three four']

我有种感觉(有#python的提示),该解决方案将涉及shlex模块。


问题答案:

shlex模块解决方案允许转义的引号,一个引号的转义和所有花哨的东西外壳程序支持。

>>> import shlex
>>> my_splitter = shlex.shlex('''foo, bar, "one, two", three four''', posix=True)
>>> my_splitter.whitespace += ','
>>> my_splitter.whitespace_split = True
>>> print list(my_splitter)
['foo', 'bar', 'one, two', 'three', 'four']

转义引号示例:

>>> my_splitter = shlex.shlex('''"test, a",'foo,bar",baz',bar \xc3\xa4 baz''',
                              posix=True) 
>>> my_splitter.whitespace = ',' ; my_splitter.whitespace_split = True 
>>> print list(my_splitter)
['test, a', 'foo,bar",baz', 'bar \xc3\xa4 baz']


 类似资料:
  • 问题内容: 我有一个字符串,我正在尝试将其解析为一个数字。我尝试使用,结果为2。我猜逗号是问题所在,但我将如何以正确的方式解决此问题?只需删除逗号? 问题答案: 是的,删除逗号:

  • 问题内容: 这是当前结果,可以每天更改 我需要帮助的是在下面实现此结果。 问题答案: 使用:

  • 本文向大家介绍在Java中将字符串列表转换为逗号分隔的字符串,包括了在Java中将字符串列表转换为逗号分隔的字符串的使用技巧和注意事项,需要的朋友参考一下 首先,让我们说以下是我们的String列表- 现在,使用String.join()将其转换为逗号分隔的字符串 示例 以下是在Java中将字符串列表转换为逗号分隔的字符串的程序- 输出结果

  • 问题内容: 欲分割为4的阵列,以利用 这是我的代码: 但是,结果标记是一个空数组:[],而不是 我想要的4数组。 我已经测试过更改一点: 这次的结果标记为。这与我想要的接近,但是我真的不想在拆分之前添加此“ 1”。 问题基本上是,如果它仅包含空元素,它将返回一个空数组。 您能帮助解决问题吗? 问题答案: 您需要使用带有limit参数的重载方法。 从文档(重点是我的): limit参数控制应用图案的

  • 在逗号处划分字符串的最佳方法是什么,这样每个单词都可以成为ArrayList的一个元素? 例如:

  • 问题内容: 你最好采用哪种方法来连接序列中的字符串,以便在每两个连续对之间添加一个逗号。也就是说,例如,你如何映射到(案例和该分别映射到和。) 我通常会使用类似的东西,但也会感到有些不满意。 问题答案: 如果列表包含数字,则此功能将无效。 并且如果列表包含非字符串类型(such as integers, floats, bools, None),则执行以下操作: