将Char添加到数组中的每个元素

时间:2017-12-13 19:46:57

标签: c#

我的案例中的输入是一个字符串,其中包含以逗号分隔的元素列表

输入:

var input = "123,456,789";

预期输出(字符串):

"'123','456','789'"

我正在寻找VB.net的解决方案,但我对它并不熟悉。所以,我在c#中尝试过。不知道我错过了什么。

我的尝试:

var input = "123,456,789";
var temp = input.Split(new Char[] { ',' });
Array.ForEach(temp, a => a = "'" + a + "'");
Console.WriteLine(String.Join(",",temp));

实际输出:

"123,456,789"

非常感谢在vb.net中为解决方案提供资金的任何帮助:)

4 个答案:

答案 0 :(得分:3)

您可以使用LINQ:

var result = string.Join(",", input.Split(',').Select(x => "'" + x + "'"))

这会将字符串拆分为,分隔符,然后使用Select()在各个部分周围添加引号,然后使用string.Join()重新组合数组

编辑:这是等效的VB.NET解决方案:

Dim result As String
result = String.Join(",", input.Split(",").Select(Function (x) ("'" & x & "'" )))

答案 1 :(得分:2)

input = Regex.Replace(input, "\d+", "'$0'");

答案 2 :(得分:0)

var input = "123,456,789";
var temp = input.Split(new Char[] { ',' });
temp = Array.ConvertAll(temp, a => a = "'" + a + "'");

Console.WriteLine(String.Join(",", temp));

另请参阅:https://stackoverflow.com/a/3867998/194717

答案 3 :(得分:0)

这里有很多解决方案,但我认为,这会更快:

.5
在VB.NET中

var newStr = "'" + string.Replace(str, ",", "','") + "'";