2011-12-28 132 views

回答

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]; 
+0

好东西,起初我使用双引号,但它给了我一个例外,所以我将它改为单引号,它像冠军一样工作。 – MDL 2011-12-28 18:59:26

+0

@MDL - C#中的双引号分隔字符串,单引号分隔字符。 – Oded 2011-12-28 19:01:05

1

如果您知道确定你有两个下划线,使用下面的代码:

var pos = str.IndexOf('_'); 
var last = str.IndexOf('_', pos+1); 
var res = str.Substring(pos+1, last-pos-1); 

这会失败l如果下划线的数量少于两个。

2
"hello_my name_is_bob".Split('_').Skip(1).First(); 
相关问题