使用C#进行字符串连接
我有一个输入字符串:
“风险管理,投资组合管理,投资计划”
如何将此字符串转换为:
“风险管理”+“投资组合管理”+“投资计划”
谢谢。
拆分和修剪
// include linq library like this: // using System.Linq; // then "test1, test2".Split(',').Select(o => o.Trim());
要么
"test1, test2".Split(',').Select(o => o.Trim()).ToArray(); // returns array
和
"test1, test2".Split(',').Select(o => "\"" + o.Trim() + "\"") .Aggregate((s1, s2) => s1 + " + " + s2); // returns a string: "test1" + "test2"
使用Split()
方法:
string[] phrases = s.Split(',');
现在你有一个每个逗号分隔值的字符串数组。
要删除空格,请在每个字符串上使用Trim()
方法(感谢John Feminella)
你不能在你的情况下使用String.Split()
,因为你有一个逗号,然后是一个空格。 所以你的字符串看起来像{ "risk management"
, " portfolio management"
, " investment planning"
}。 相反,使用Regex.Split
:
string[] investmentServices = Regex.Split(inputString, ", ");
var results = from s in string.Split("risk management, portfolio management, investment planning", new char[] { ',' }) select s.Trim();
您的问题不清楚是否要将','
替换为'+'
或仅仅是简单的split
。
以下是两种可能性:
string s = "risk management, portfolio management, investment planning"; string transformedString = s.Replace(", ", "\" + \""); string[] parts = s.Split(new [] {", "}, StringSplitOptions.None);
如果你想分割输入,你可以使用string.Split,使用逗号作为分隔符,或者更好的“,”,以考虑逗号后的空格,
string[] array = inputString.Split(", ");
但是,您可能希望将字符串中的逗号替换为加号,这也是您可以实现的目标:
inputString = inputString.Replace(", ", "\" + \"");
它实际上看起来像是在尝试执行拆分而不是连接。
如果您希望获取该输入字符串并将其转换为包含“风险管理”,“投资组合管理”和“投资计划”的三个字符串,则使用string.Split(inputString, ',')
,然后修剪每个字符串使用它时从结果数组中。
你的意思并不是很清楚。 如果您需要访问CSV值,那么这将分别输出每个值…
string input = "risk management, portfolio management, investment planning"; string[] words = text.Split(new Char[] {','}); foreach(string word in words) { Console.WriteLine(word.Trim()); } //risk management //portfolio management //investment planning
回复Jhonny D. Cano(对不起,没有50位代表发表评论。)
你的第一个推荐
string [] array = inputString.Split(“,”);
不起作用,因为你不能拆分字符串。 最接近的可能重载是char [],所以你必须把它写成……
string [] array = inputString.Split(“,”。ToCharArray());