我从API中获取了一个字符串值,并且有很多无用的空行:
bla bla bla
bla
bla bla bla
我想删除这些空行以获得此结果:
bla bla bla
bla
bla bla bla
我该怎么办?
答案 0 :(得分:1)
假设你有一个用新行('\n')
分隔的字符串,你可以Split
字符串并删除空行。
var lines = inputString.Split('\n')
.Where(x=> !string.IsNullOrEmpty(x))
.ToArray();
inputString = string.Join(@"\n",lines);
答案 1 :(得分:0)
使用正则表达式,您可以使用Regex.Replace(字符串。@" ^ \ s?\ n",@"")删除所有空行(或包含的行)只有空格。)
否则,您可以使用StringReader迭代这些行,并且只对非空或空格的行执行某些操作:
public static string ReturnNoBlankLinks(string emptyLineString)
{
using (StringReader sR = new StringReader(emptyLineString))
{
string curLine = String.Empty;
while ((curLine = sR.ReadLine()) != null)
{
if (!String.IsNullOrWhiteSpace(curLine))
{
doSomething();
}
}
}
}
答案 2 :(得分:0)
又一个解决方案:
string apiString = "bla bla bla\n\n\nbla\r\n\r\nbla bla bla";
char[] lineFeedChars = {'\n', '\r'};
string[] cleanStringArray = apiString.Split(lineFeedChars, StringSplitOptions.RemoveEmptyEntries);
string cleanString = String.Join(Environment.NewLine, cleanStringArray);