gpt4 book ai didi

c# - 替换单个空格而不替换多个空格

转载 作者:太空狗 更新时间:2023-10-30 00:18:30 24 4
gpt4 key购买 nike

我有一个格式如下的字符串:abc def ghi xyz

我想以以下格式结束:abcdefghi xyz

最好的方法是什么?在这种特殊情况下,我可以去掉最后三个字符,删除空格,然后将它们添加回末尾,但这不适用于多个空格位于字符串中间的情况。

简而言之,我想删除所有单个空格,然后用一个替换所有多个空格。这些步骤中的每一个步骤本身都足够简单,但将它们结合起来似乎就不那么简单了。

我愿意使用正则表达式,但我不愿意。

最佳答案

此方法使用正则表达式,但希望以一种仍然相当可读的方式。首先,将您的输入字符串拆分为多个空格

var pattern = @"  +"; // match two or more spaces
var groups = Regex.Split(input, pattern);

接下来,从每个标记中删除(单独的)空格:

var tokens = groups.Select(group => group.Replace(" ", String.Empty));

最后,用单个空格连接你的标记

var result = String.Join(' ', tokens.ToArray());

此示例使用文字空格字符而不是“空白”(包括制表符、换行符等)- 如果您需要拆分多个空白字符而不是用 \s 代替“'实际空间。

关于c# - 替换单个空格而不替换多个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35412915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com