C#中的字符串提取

5
我对此感到非常沮丧,希望社区能帮助我。
我有一个字符串,例如"1_ks_Males",另一个例子是"12_ks_Females"。
我需要编写一个方法来提取每个值。因此,从第一个示例中,我想要像这样的结果:
1 ks Males
在单独的变量中。
我确信我只是太蠢了,但我就是搞不定!

7
哇,我现在感到多么愚蠢。谢谢! - Paul
3
3分钟内出现了13个几乎完全相同的答案... - Oded
7
现在他至少可以确认那是正确的做法了;-) - Daniel Hilgarth
1
当我打字时,我的头低垂着...也许是昨晚喝了太多啤酒。 - Paul
如果你不想跟随群众的话 - https://dev59.com/AFDTa4cB1Zd3GeqPGRgV - JMK
显示剩余2条评论
14个回答

15

只需使用 string.Split('_')。 对于您的输入字符串,它将返回一个包含三个元素的 string 数组。


9
您可以使用Split函数来处理String。类似于这样:
var split =  "1_ks_Males".Split('_');
var first = split[0];
var second = split[1];
var third = split[2];

7

您只需要使用split函数即可:

var exampleString = "1_ks_Males";
var split = exampleString.split("_");

var first= split[0]; // 1
var second = split[1]; // ks
var third = split[2]; // Males

7
string[] array =  "1_ks_Males".Split('_');

Assert.AreEqual("1",array[0])
Assert.AreEqual("ks",array[1])
Assert.AreEqual("Males",array[2])

6
var values = "1_ks_Males".Split('_');
// values[0]: 1
// values[1]: ks
// values[2]: Males

5
这个怎么样?
var data = myString.Split("_");
var value = data[0];
var @type = data[1];
var gender = data[2];

5

使用 String.Split 方法,该方法返回一个值数组。

var values = "12_ks_Females".split("_");
// values[0] == "12"
// values[1] == "ks"
// values[2] == "Females"

5
你可以使用split函数 -
var s = "1_ks_Males";
string[] values = s.Split('_');

您的值将存储在名为“values”的数组中 -

var firstvalue = values[0];
var secondvalue = values[1];
var thirdvalue = values[2];

5

您需要查看 String 类的 Split 方法。如果您的所有字符串都由一个一致的字符(在您的示例中,这是下划线字符)分隔的所需值组成,则可以使用 Split 方法,该方法将根据特定分隔符将单个字符串拆分为新字符串数组。

例如:

这里是 MSDN 链接: MSDN链接

string s = "1_ks_Males";
string[] v = s.Split('_');
Console.WriteLine(v[0]);
Console.WriteLine(v[1]);
Console.WriteLine(v[2]);

会输出:
1
ks
Males

4

使用字符串的Split函数进行操作:

var variables = "1_ks_Males".Split(new char[]{'_'}, StringSplitOptions.IgnoreEmpty);

现在 variables[0] == "1"variables[1] == "ks",以及variables[2] == "Males"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接