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