在字符串中每个字符后添加特定字符的优雅方式

3

我希望能够从数据库中打印一个字符串到页面上。在这个数据库中,这个字符串看起来像这样: "!"§%&/"。在我的页面上,它应该看起来像这样: "! " § % & /" (字符之间有空格)。

我知道可以用简单的foreach循环或Linq的Aggregate函数来实现。

使用Foreach循环:

var result = "";
foreach (var s in stringFromDb)
{
    result += s + " ";
}
result = result.Trim()

聚合函数:

var result = stringFromDb.Aggregate("", (current, s) => current + (s + " ")).Trim();

聚合函数比较难以理解,所以我肯定不会使用它。 有没有更简单的方法来完成这个任务?

2个回答

10

你为什么不使用 string.Join ?

var str = "!\"§%&/";
var result = string.Join(" ", str.ToCharArray())

或者不使用 ToCharArray(评论中建议的方法)

 var result = string.Join<char>(" ", str)

6
自从.NET 4以来,您甚至不需要使用ToCharArraystring.Join<char>(" ", str) - Jon

0

试试这个

 string st= "!\"§%&/";
 var res = Regex.Replace(st, new string('.', 1), x => x.Value + " ");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接