拆分文本python
感谢您回答我的问题,我只想澄清我的问题。拆分文本python,python,Python,感谢您回答我的问题,我只想澄清我的问题。 我正在尝试使用str.split(“+”)拆分以下字符串,我正在从文本文件中读取字符串: ['\A'+'ABBOTT\s|\s'+'ABBOTT\s|\s'+'ABBOTT$|\A'+'ABBOTT LABORATORIES\s|\s'+'ABBOTT LABORATORIES\s|\s'+'ABBOTT LABORATORIES$'] 预期的结果将是: ['\A'+'ABBOTT\s|\s', 'ABBOTT\s|\s', 'ABBOTT$|\A',
我正在尝试使用str.split(“+”)拆分以下字符串,我正在从文本文件中读取字符串:
['\A'+'ABBOTT\s|\s'+'ABBOTT\s|\s'+'ABBOTT$|\A'+'ABBOTT LABORATORIES\s|\s'+'ABBOTT LABORATORIES\s|\s'+'ABBOTT LABORATORIES$']
预期的结果将是:
['\A'+'ABBOTT\s|\s', 'ABBOTT\s|\s', 'ABBOTT$|\A', 'ABBOTT LABORATORIES\s|\s', 'ABBOTT LABORATORIES\s|\s', 'ABBOTT LABORATORIES$']
但我得到的是:
[“\A'”、“'ABBOTT\s |\s'”、“'ABBOTT\s |\s'”、“'ABBOTT$|\A'”、“'ABBOTT LABORATORIES\s |\s'”、“'ABBOTT LABORATORIES$”]
但是我不能让\在分手后作为一个单身汉留下来
再次感谢 如果直接打印数组,它看起来就像第一个条目的值是
['\\A'
,这也是在脚本中处理该值时应该如何写入该值
这是因为在该上下文中打印将把字符串包装在“
中,并在\
中转义字符(将它们转换为打印字符串中的\
)
字符串的“真实”值不是这样的
Python 2.7.2 (default, Aug 22 2011, 13:53:27)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
>>> print "['\\A'+'ABBOTT\\s|\\s'+'ABBOTT LABORATORIES$']".split ('+')
["['\\A'", "'ABBOTT\\s|\\s'", "'ABBOTT LABORATORIES$']"]
>>> print "['\\A'+'ABBOTT\\s|\\s'+'ABBOTT LABORATORIES$']".split ('+')[0]
['\A'
这只是它的表达。试着打印它。看看这个问题:需要注意的一些事情:如果可能的话,提供有效的源代码,让你的问题为其他人重现;让每个问题的问题数量尽可能接近一个;不要改变你问题的主要问题,在有后续pr时提交一个新的问题问题。好的,我会的。谢谢你的建议。@moooeeep:)嗨,谢谢你的回答,我刚刚试过,但是我得到了[“\\\A”“,“'ABBOTT\\\\s \\\\\\s”“,“'ABBOTT\\\\\\s \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\我认为问题在于我正在读取文本文件中的行,并且我正在对存储了字符串的变量进行分区。再次感谢!!!再次您好,我想如果有办法删除“”当前正在包装我导入的文本,拆分应该可以正常工作。有什么建议吗???谢谢!!!!@Heatherm您可以使用
'string'
而不是“”
但是你必须避开字符串中的“
。@HeaterM另外,请将答案标记为已接受,因为你原来的问题已经回答,这将标记问题已解决,谢谢。嗨,再次感谢你的回答。我想我以前的问题不够清楚。(sry,我的第一次发帖,我试图简单地回答我的问题)我从一个.txt文件中导入了以下行:(行='\a'+'ABBOTT\s | \s'+'ABBOTT\s | \s'+'ABBOTT$| \a'+'ABBOTT LABORATORIES\s'+'ABBOTT LABORATORIES\s | \s'+'ABBOTT LABORATORIES$))我希望以下两条语句产生相同的结果:re.compile(行,re.I+re.M);re.compile(“\A'+'ABBOTT\s | \s'+'ABBOTT\s | \s'+'ABBOTT$| \A'+'ABBOTT LABORATORIES\s | \s'+'ABBOTT LABORATORIES\s | \s'+'ABBOTT LABORATORIES$”,re.I+re.M);
Python 2.7.2 (default, Aug 22 2011, 13:53:27)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
>>> print "['\\A'+'ABBOTT\\s|\\s'+'ABBOTT LABORATORIES$']".split ('+')
["['\\A'", "'ABBOTT\\s|\\s'", "'ABBOTT LABORATORIES$']"]
>>> print "['\\A'+'ABBOTT\\s|\\s'+'ABBOTT LABORATORIES$']".split ('+')[0]
['\A'