我有一个脚本,我希望用户输入分隔符,文件中的每一行都应在该分隔符上进行拆分。但是,一旦将此定界符保存在变量中,就不能再将其用作split()函数中的定界符。有任何解决方法吗?
不起作用的示例:
a='"\t"'
my_line.split(a)
答案 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"'
。如果您将a
或a="\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-quote
或single-quote
内的任何东西,或此"""
或此'''
的两个内的东西。方法split
希望将字符串对象作为其参数
string.split(s[, sep[, maxsplit]])
您传递的是一个'"\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'代替组合