gpt4 book ai didi

C# 处理空格

转载 作者:太空宇宙 更新时间:2023-11-03 23:30:47 24 4
gpt4 key购买 nike

我有一个输入字符串,它被放入结果,然后从那里转换成一个char[],我把第一个字母设为大写字母。我的问题是在 for 语句中,我试图在每个大写字母前放置一个空格。 它无法识别 insert(),因为 char[] 有什么替代品?

我也有一个问题,因为我的第一个字母大写,它会在第一个单词上输入一个空格。我该如何解决这个问题并将其实现到我的代码中。

例子:

“你好”

输出

“你好”

我是否将它插入到一个新的字符串名称中?并返回它而不是输出,例如char[] final 将是最终的返回。

最后,必须在每个大写字母前添加空格,我如何应用只允许 1 个空格的规则?

最佳答案

我会使用正则表达式在每个大写字母前插入空格:

var result = "HelloThere";
Console.WriteLine(Regex.Replace(result, @"\s*(\p{Lu})", " $1"));

请注意,\s* 匹配 0 个或多个空白字符,而 \p{Lu} 匹配任何 Unicode 大写字母。将大写字母捕获到第1组中,并借助替换字符串在大写字母字符串前添加空格。

参见 IDEONE demo

不要忘记添加 using System.Text.RegularExpressions 指令。

这是一个full example使用在静态类中声明的正则表达式:

public static void Main()
{
var result = "HelloThere";
Console.WriteLine(Regexes.rxAddSpaceBeforeCapital.Replace(result, " $1"));
result = "Hello There";
Console.WriteLine(Regexes.rxAddSpaceBeforeCapital.Replace(result, " $1"));
}

public static class Regexes
{
public static readonly Regex rxAddSpaceBeforeCapital = new Regex(@"\s*(\p{Lu})", RegexOptions.Compiled);
}

关于C# 处理空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32320687/

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