C#是否具有像Java一样的String Tokenizer?
时间:2020-03-05 18:55:24 来源:igfitidea点击:
我正在执行简单的字符串输入解析,并且需要一个字符串标记器。我是C的新手,但是对Java进行了编程,因此C应该有一个字符串标记器似乎很自然。可以?它在哪里?如何使用?
解决方案
回答
我认为.NET Framework中最接近的是
string.Split()
回答
字符串的split方法是我们所需要的。实际上,不赞成使用Java中的tokenizer类,而推荐使用Java的字符串拆分方法。
回答
我们可以使用String.Split方法。
class ExampleClass { public ExampleClass() { string exampleString = "there is a cat"; // Split string on spaces. This will separate all the words in a string string[] words = exampleString.Split(' '); foreach (string word in words) { Console.WriteLine(word); // there // is // a // cat } } }
有关更多信息,请参见Sam Allen的有关在c(Performance,Regex)中拆分字符串的文章。
回答
对于复杂的拆分,我们可以使用正则表达式创建一个match集合。
回答
如果我们使用的是C3.5,则可以将扩展方法写入System.String,以执行所需的拆分。然后,我们可以使用语法:
string.SplitByMyTokens();
更多信息和来自MS的有用示例,请参见http://msdn.microsoft.com/zh-cn/library/bb383977.aspx
回答
使用Regex.Split(string,"#|#");
回答
读到此,split函数有一个重载,需要一个由分隔符组成的数组
http://msdn.microsoft.com/zh-CN/library/system.stringsplitoptions.aspx