如何获取字符串的一部分直到某个符号,然后将符号后面的部分作为单独的值

时间:2016-12-28 21:08:51

标签: c# regex string linq char

例如,如果我有字符串,那么有什么好方法:

string str = "hello, world = how are you~hello";

我在文字中允许的特定符号集为:“=”,“~”,“\”,“.”,“{{1 },“{”^

并且如果字符串包含任何此符号,则首先获取值,或者正确地说,在特定符号之前整个存在的字符串部分,然后在特定符号之后单独获取字符串的一部分。

#

为字符串中的前3个符号附加每个单独的变量:

hello, world
how are you
hello

所以如果string是:

string part1 = hello, world
string part2 = how are you
string part3 = hello

结果将是:

  string str = "hello, world = how are you~hello \ ok";

1 个答案:

答案 0 :(得分:2)

有一个overload of string.Split使这很容易:

string str = "hello, world = how are you~hello \\ ok";
var results = str.Split(new [] { '=', '~', '\\', '.', '^', '#'}, 3);

// results[0] = "hello, world "
// results[1] = " how are you"
// results[2] = "hello \ ok"

第二个参数是您想要获得的最大子串数。