1

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

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

我怎样才能分别检索字母?喜欢:

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

8 回答 8

16

你可以使用Split(char c)它会给你一个string由 ~ 符号分隔的 sub 数组。

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];
于 2013-09-26T14:36:52.403 回答
6

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

string s = "A~B~C~D";
string[] strings = Regex.Split(s, @"\W|_");
于 2013-09-26T14:38:33.287 回答
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);
}
于 2013-09-26T14:38:44.957 回答
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];
于 2013-09-26T14:37:07.640 回答
3
string src = "A~B~C~D";
string[] letters = src.Split('~');

foreach (string s in letters)
{
    //loop through array here...
}
于 2013-09-26T14:38:37.297 回答
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];
于 2013-09-26T14:38:44.717 回答
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);
        }
于 2013-09-26T22:07:59.827 回答
1
string words[]=Regex.Matches(input,@"\w+") 
                    .Cast<Match>()
                    .Select(x=>x.Value)
                    .ToArray();

\w匹配单个单词,即 AZ 或 az 或_或数字

+是一个与前面的 char 1 匹配多次的量词

于 2013-09-26T14:38:26.423 回答