gpt4 book ai didi

c# - 仅替换字符串出现中的单个 "\n"

转载 作者:行者123 更新时间:2023-11-30 21:30:58 25 4
gpt4 key购买 nike

我在 C# 中有一个字符串,它可以有多个 \n 字符。例如:

string tp = "Hello\nWorld \n\n\n !!";

如果出现一次 \n 我想用一些东西替换它,但如果多个 \n 一起出现在同一个地方我想别管他们了。所以对于上面的 tp 字符串,我想替换 HelloWorld 之间的 \n,因为只有一个在那个地方,并让三个 \n 单独留在字符串的末尾,因为它们出现在一个组中。

如果我尝试在 C# 中使用 Replace() 方法,它会替换所有这些方法。我该如何解决这个问题?

最佳答案

您可以尝试使用正则表达式:让我们将 \n 更改为 "*" 每当 \n 是单例:

using System.Text.RegularExpressions;

...

string tp = "Hello\nWorld \n\n\n !!";

// "Hello*World \n\n\n !!";
string result = Regex.Replace(tp, "\n+", match =>
match.Value.Length > 1
? match.Value // multiple (>1) \n in row: leave intact
: "*"); // single ocurrence: change into "*"

关于c# - 仅替换字符串出现中的单个 "\n",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53886414/

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