首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在没有Regex或Linq的情况下拆分字符串,但将引号中的文本保留在一起

在没有Regex或Linq的情况下拆分字符串,但将引号中的文本保留在一起,可以通过编写自定义的字符串拆分函数来实现。

以下是一个示例的实现方式:

代码语言:txt
复制
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

这个函数接受两个参数:待拆分的字符串和分隔符。它会遍历字符串中的每个字符,根据以下规则进行拆分:

  1. 如果当前字符是分隔符,并且不在引号内,则将当前字符串添加到结果列表中,并重置当前字符串。
  2. 如果当前字符是引号,则切换引号状态,并将当前字符添加到当前字符串中。
  3. 对于其他字符,直接将其添加到当前字符串中。

最后,将最后一个未添加到结果列表的字符串添加进去,并返回结果列表。

这个函数可以在没有使用正则表达式或LINQ的情况下,将字符串按照指定的分隔符进行拆分,同时保留引号中的文本。

示例用法:

代码语言:txt
复制
string = 'Hello, "World, Foo", Bar'
delimiter = ','

result = split_string_without_regex(string, delimiter)
print(result)

输出结果为:

代码语言:txt
复制
['Hello', ' "World, Foo"', ' Bar']

在这个例子中,字符串被逗号分隔,但引号中的文本被保留在一起。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券