如何使用保存在变量中的定界符进行拆分

时间:2019-01-17 11:17:34

标签: python

我有一个脚本,我希望用户输入分隔符,文件中的每一行都应在该分隔符上进行拆分。但是,一旦将此定界符保存在变量中,就不能再将其用作split()函数中的定界符。有任何解决方法吗?

不起作用的示例:

a='"\t"'
my_line.split(a)

5 个答案:

答案 0 :(得分:4)

似乎您的定界符中有多余的引号。 split将这些额外的'当作引起问题的定界符的一部分。 split最终将搜索'\t'而不是您期望的\t

a="'\t'"

应该是

a="\t"

答案 1 :(得分:3)

因为您要创建一个3个字符长的定界符' + \t + ',而不是一个\t

尝试:

a="\t"
my_line.split(a)

答案 2 :(得分:0)

@DoubleDecker您好,您在代码行中有a='"\t"'。如果您将aa="\t"设为a='\t',则您的代码可以正常工作。编写a='"\t"'与上述两个单词不同。

>>> a = '"\t"'
>>> a
'"\t"'
>>> b = "\t"
>>> b
"\t"
>>> c = '\t'
>>> c
'\t'
>>> a == b
False
>>> a == c
False

希望这会有所帮助。

答案 3 :(得分:0)

在python中,字符串对象是single-quotesingle-quote内的任何东西,或此"""或此'''的两个内的东西。方法split希望将字符串对象作为其参数

string.split(s[, sep[, maxsplit]]) 

Link to doc

您传递的是一个'"\t"',所以它是一个"\t"字符串。

您可能对引号感到困惑,但是了解一种方法期望作为参数(阅读文档帮助)和理解python文档将为您提供帮助。基本上,请阅读文档。

TL; DR
使用

a = '\t' #if you wanted to use TAB as the delimiter
#Remember it's expecting a string obj

答案 4 :(得分:0)

    my_line='No suggested  \tjump to results Extension \tfor detecting mobile devices, managing   mobile view'
    a='\t'
    print(my_line.split(a))

**RESULT:**  ['No suggested  ', 'jump to results Extension ', 'for detecting mobile devices, managing   mobile view']

您也可以使用 a =“ \ t”或a ='\ t'代替组合