我想将字符串“ICMS_MG-PR-RJ-RS-SC”分开,并且需要排除“ICMS_”将除“ - ”之外的其他值添加到字符串列表中。
List<string> states=new List<string>();
“状态”应包含以下值:MG,PR,RJ,RS,SC
答案 0 :(得分:5)
用空字符串替换前缀,并按-
符号分隔休息:
var text = "ICMS_MG-PR-RJ-RS-SC";
var states = text.Replace("ICMS_", "").Split('-').ToList();
答案 1 :(得分:1)
var states = text.Split('_', '-').Skip(1).ToList();
答案 2 :(得分:0)
除了 lazyberezovsky 的回答,你也可以这样做:
var input = "ICMS_MG-PR-RJ-RS-SC";
var states = input.Split('_')[1].Split('-').ToList();
或者这个
var states = input.Split('_', '-').Skip(1).ToList();
或者这个
var states = input.Substring(input.IndexOf('_') + 1).Split('-').ToList();
但是,请注意,除非您确实需要能够通过索引访问每个元素,否则可能无需调用ToList
。如果你能够满足于IEnumerable<string>
,你可能应该这样做。