我正在尝试编写一个函数,该函数将允许我传入一个字符串和一个字符来拆分字符串。
这显然有效:
def delimit(inputValue, splitChar):
splitValue = [x.strip() for x in inputValue.split(',')]
print(splitValue)
delimit('100, 200,300 ,400,500',',')
打印此内容:
['100', '200', '300', '400', '500']
但是当我尝试使用变量来指定分隔值时,它不起作用:
def delimit(inputValue, splitChar):
splitChar = "'" + splitChar + "'"
splitValue = [x.strip() for x in inputValue.split(splitChar)]
print(splitValue)
delimit('100, 200,300 ,400,500',',')
其中返回:
['100, 200,300 ,400,500']
是否可以在split()
内部使用变量? 如果是这样,我将如何做到这一点?
是的,您可以为splitChar
使用变量。
我想你对其他语言感到困惑,其中单引号表示字符,而双引号表示字符串。在 Python 中,单引号和双引号字符串之间没有区别。也没有字符类型的概念,只有单个字符串。
要使您的函数工作,您只需要删除您的行splitChar = "'" + splitChar + "'"
因为这会使您的splitChar
字符串','
这不是您想要的。splitChar
已经存储了正确的分,
。
你为什么splitChar = "'" + splitChar + "'"
添加这一行? 现在,拆分字符变量包含','
,它不会出现在测试字符串中的任何位置。因此,拆分无法随心所欲地拆分它。
如果你从函数中取出splitChar = "'" + splitChar + "'"
,它就会起作用。在拆分字符的两侧连接"'"只会在拆分字符串的每一侧添加 '。