C#如何从字符串中获取单词

时间:2013-09-26 14:33:18

标签: c# regex vb.net string words

大家好,我正在尝试从一个主要字符串中检索一些其他字符串。

string src = "A~B~C~D";

我如何单独检索字母?像:

string a = "A";
string b = "B";
string c = "C";
string d = "D";

8 个答案:

答案 0 :(得分:15)

您可以使用Split(char c)来返回由〜符号分隔的子string数组。

string src = "A~B~C~D";

string [] splits = src.Split('~');
显然,除非你事先知道字符串/单词的长度,否则你将无法随意将它们放入自己的变量中。但如果你知道它总是4个字,那么你可以做

string a = splits[0];
string b = splits[1];
string c = splits[2];
string d = splits[3];

答案 1 :(得分:5)

请试试这个

string src = "A~B~C~D"
//
// Split string on spaces.
// ... This will separate all the words.
//
string[] words = src .Split('~');
foreach (string word in words)
{
    Console.WriteLine(word);
}

答案 2 :(得分:4)

试试这个。它将使用所有非字母数字字符拆分字符串。

string s = "A~B~C~D";
string[] strings = Regex.Split(s, @"\W|_");

答案 3 :(得分:3)

你可以这样做:

string src = "A~B~C~D";

string[] strArray = src.Split('~');

string a = strArray[0];   
string b = strArray[1];   
string c = strArray[2];
string d = strArray[3];

答案 4 :(得分:3)

string src = "A~B~C~D";
string[] letters = src.Split('~');

foreach (string s in letters)
{
    //loop through array here...
}

答案 5 :(得分:2)

考虑...

string src = "A~B~C~D";
string[] srcList = src.Split(new char[] { '~' });
string a = srcList[0];
string b = srcList[1];
string c = srcList[2];
string d = srcList[3];

答案 6 :(得分:1)

string words[]=Regex.Matches(input,@"\w+") 
                    .Cast<Match>()
                    .Select(x=>x.Value)
                    .ToArray();

\w匹配单个字,即A-Z或a-z或_或数字

+是一个量词,它匹配前面的char 1到很多次

答案 7 :(得分:1)

我喜欢这样做:

        List<char> c_list = new List<char>();
        string src = "A~B~C~D";
        char [] c = src.ToCharArray();
        foreach (char cc in c)
        {
            if (cc != '~')
                c_list.Add(cc);
        }