例如我们有这个字符串:
并且只想获得字符串的“my name”部分,我怎么能用substring来得到它?
此外,示例中的格式将始终相同,因此我只需要检索第一个下划线之后但第二个下划线之前的内容。
答案 0 :(得分:14)
string.Split
可以做到这一点,无需进入Substring
:
var parts = "hello_my name_is_bob".Split('_');
string name = parts[1] // == "my name";
或者,在一个班轮中(虽然我觉得这不太可读):
string name = "hello_my name_is_bob".Split('_')[1];
答案 1 :(得分:2)
"hello_my name_is_bob".Split('_').Skip(1).First();
答案 2 :(得分:1)
如果您确定您有两个下划线,请使用以下代码:
var pos = str.IndexOf('_');
var last = str.IndexOf('_', pos+1);
var res = str.Substring(pos+1, last-pos-1);
如果下划线的数量少于两个,则会失败。