如何删除指定字符之间的单词?

时间:2012-06-26 18:12:51

标签: c# .net

我想创建一个从文件的每一行读取的方法。接下来,它必须检查管道并确定是否有超过三个字符长的单词,并且只是数字。在文件中是这样组织的字符串:

发生了什么{noway |很酷| 1293328 |为什么|不知道|看到}

使用这句话,软件应删除1293328。

结果句子是:

发生了什么{noway |很酷|不知道}

直到现在我正在读取文件中的每一行,并且我创建了确定|之间的单词的函数|必须删除或不删除(检查字符串像noway,这很酷,等等)

我不知道如何在管道之间获取字符串。

3 个答案:

答案 0 :(得分:1)

您可以使用Split方法按字符拆分字符串。

string YourStringVariable = "{noway|that's cool|1293328|why|don't know|see}";

YourStringVariable.Split('|');  //Returns an array of the strings between the brackets

答案 1 :(得分:0)

关键词:

string RemoveValues(string sentence, string[] values){

   foreach(string s in values){
      while(sentence.IndexOf("|" + s) != -1 && sentence.IndexOf("|" + s) != 0){
         sentence = sentence.Remove(sentence.IndexOf("|" + s), s.Lenght + 1);
      }
   }

   return sentence;
}

在你的情况下:

string[] values = new string[3]{ "1293328", "why", "see" };
string sentence = RemoveValues("noway|that's cool|1293328|why|don't know|see", values);
//result: noway|that's cool|don't know

答案 2 :(得分:0)

        string YourStringVariable = "{noway|that's cool|1293328|why|don't know|see}";
        string[] SplitValue=g.Split('|');
        string FinalValue = string.Empty;
        for (int i = 0; i < SplitValue.Length; i++)
        {
            if (!SplitValue[i].ToString().Any(char.IsDigit))
            {
                FinalValue += SplitValue[i]+"|";    

            }

        }