Python:拆分字符串,按变量拆分



我正在尝试编写一个函数,该函数将允许我传入一个字符串和一个字符来拆分字符串。

这显然有效:

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 + "'",它就会起作用。在拆分字符的两侧连接"'"只会在拆分字符串的每一侧添加 '。

最新更新