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

时间:2014-03-12 13:54:20

标签: c# string linq character

我想将数据库中的字符串打印到页面。在此数据库中,字符串如下所示:“!"§%&/”。在我的页面中它应该如下所示:“! " § % & /”(字符之间的空格)。

我知道可以使用简单的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 个答案:

答案 0 :(得分:9)

为什么不使用string.Join

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

或没有ToCharArray(在评论中建议)

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

答案 1 :(得分:0)

试试这个

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