例如我们有这个字符串:
同时,示例的格式始终保持不变,因此我们只需要获取第一个下划线后面但在第二个下划线之前的内容。
- hello_my name_is_bob
同时,示例的格式始终保持不变,因此我们只需要获取第一个下划线后面但在第二个下划线之前的内容。
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];
"hello_my name_is_bob".Split('_').Skip(1).First();
var pos = str.IndexOf('_');
var last = str.IndexOf('_', pos+1);
var res = str.Substring(pos+1, last-pos-1);
如果下划线的数量少于两个,这将失败。