修剪多余字符的字符串c#

时间:2016-03-24 12:40:18

标签: c# .net

我有一个如下所示的字符串,我想修剪多余的正斜杠(即//)

所以输入

 //
 //
 // Authors
 // Mr. Simmonsen 
 // Mr. Greg
 //
 //
 //

输出应该是

 // Authors
 // Mr. Simmonsen 
 // Mr. Greg

3 个答案:

答案 0 :(得分:1)

假设这是一个字符串,您可以删除回车符,在删除空条目时拆分条目,然后再将它们重新连接在一起。

var entry = @"//
//
// Authors
// Mr. Simmonsen 
// Mr. Greg
//
//
//".Replace("\r\n","").Split(new[] { '/'},StringSplitOptions.RemoveEmptyEntries);


var newEntry = String.Join("\r\n", entry.Select(x=>"//" + x));

假设您从文件中获取此信息并一次读取一行:

var lines = new[]{
"// "
,"// Authors"
,"// Mr. Simmonsen "
,"// Mr. Greg"
,"// "
,"//"
,"//"};

var trimmedLines = lines.Where(x=>x.Trim() != "//");


var nonEmptyLines = String.Join(System.Environment.NewLine, trimmedLines);

答案 1 :(得分:1)

如果您想修剪String

  String source = 
    @"//
      //
      // Authors
      // Mr. Simmonsen 
      // Mr. Greg
      //
      //
      //";

  String result = String.Join(Environment.NewLine, source
    .Split(new String[] { Environment.NewLine }, StringSplitOptions.None)
    .Where(line => !line.Trim().Equals("//")));

如果您想阅读文件

  String result = String.Join(Environment.NewLine, File
    .ReadLines(@"C:\File.txt")
    .Where(line => !line.Trim().Equals("//"))));  

答案 2 :(得分:0)

string[] lines = theText.Split(
  new string[] { Environment.NewLine }, 
  StringSplitOptions.None);

string result = string.Empty;

foreach (string line in lines)
{
    if (result != string.Empty)
        result += Environment.NewLine;
    if (!line.Trim().Equals("//"))
        result += line;
}