在没有Regex或Linq的情况下拆分字符串,但将引号中的文本保留在一起,可以通过编写自定义的字符串拆分函数来实现。
以下是一个示例的实现方式:
def split_string_without_regex(string, delimiter):
result = []
current = ""
in_quotes = False
for char in string:
if char == delimiter and not in_quotes:
result.append(current)
current = ""
elif char == '"':
in_quotes = not in_quotes
current += char
else:
current += char
result.append(current)
return result
这个函数接受两个参数:待拆分的字符串和分隔符。它会遍历字符串中的每个字符,根据以下规则进行拆分:
最后,将最后一个未添加到结果列表的字符串添加进去,并返回结果列表。
这个函数可以在没有使用正则表达式或LINQ的情况下,将字符串按照指定的分隔符进行拆分,同时保留引号中的文本。
示例用法:
string = 'Hello, "World, Foo", Bar'
delimiter = ','
result = split_string_without_regex(string, delimiter)
print(result)
输出结果为:
['Hello', ' "World, Foo"', ' Bar']
在这个例子中,字符串被逗号分隔,但引号中的文本被保留在一起。