我想创建一个从文件的每一行读取的方法。接下来,它必须检查管道并确定是否有超过三个字符长的单词,并且只是数字。在文件中是这样组织的字符串:
发生了什么{noway |很酷| 1293328 |为什么|不知道|看到}
使用这句话,软件应删除1293328。
结果句子是:
发生了什么{noway |很酷|不知道}
直到现在我正在读取文件中的每一行,并且我创建了确定|之间的单词的函数|必须删除或不删除(检查字符串像noway,这很酷,等等)
我不知道如何在管道之间获取字符串。
答案 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]+"|";
}
}