将回车添加到字符串

23 c# linq

我有一根长串.

string s1 = "'99024','99050','99070','99143','99173','99191','99201','99202','99203','99204','99211','99212','99213','99214','99215','99217','99218','99219','99221','99222','99231','99232','99238','99239','99356','99357','99371','99374','99381','99382','99383','99384','99385','99386','99391','99392'";
Run Code Online (Sandbox Code Playgroud)

我想要

string s2 = 
            "'99024',
             '99050',
             '99070',
             '99143',
             '99173',
             '99191',
             '99201',
             '99202',....";
Run Code Online (Sandbox Code Playgroud)

换一种说法.也许它喜欢:

string s2 = "'99024',"+'\n'+"'99050',"+'\n'+"'99070',"+'\n'+"'99143',"+'\n'+.....;
Run Code Online (Sandbox Code Playgroud)

我需要一个简洁的代码.也许是LINQ.谢谢.

Dan*_*gby 40

string s2 = s1.Replace(",", "," + Environment.NewLine);
Run Code Online (Sandbox Code Playgroud)

另外,从性能的角度来看,这里是我见过的三种当前解决方案如何叠加超过100k次迭代:

ReplaceWithConstant           - Ms: 328, Ticks: 810908
ReplaceWithEnvironmentNewLine - Ms: 310, Ticks: 766955 
SplitJoin                     - Ms: 483, Ticks: 1192545
Run Code Online (Sandbox Code Playgroud)

ReplaceWithConstant:

string s2 = s1.Replace(",", ",\n");
Run Code Online (Sandbox Code Playgroud)

ReplaceWithEnvironmentNewLine:

string s2 = s1.Replace(",", "," + Environment.NewLine);
Run Code Online (Sandbox Code Playgroud)

SplitJoin:

string s2 = String.Join("," + Environment.NewLine, s1.Split(','));
Run Code Online (Sandbox Code Playgroud)

ReplaceWithEnvironmentNewLineReplaceWithConstant都在彼此的误差范围内,因此在功能上没有区别.

为了便于阅读和一致性,使用Environment.NewLine应优先"\n"使用,String.Empty而不是使用"".


Ser*_*rvy 27

string s2 = s1.Replace(",", ",\n");
Run Code Online (Sandbox Code Playgroud)

  • @LB你假设他正在写一个文件.你肯定不知道.他可以打印到控制台,或只处理内存中的字符串.OP使用`\n`,而不是Environment.NewLine,因此需要有一些令人信服的理由来改变它,而不是那里. (2认同)