我有一個字符串“ABD-DDD-RED-Large”,需要提取“DDD-RED”使用拆分我有: var split = "ABD-DDD-RED-Large".Split('-'); var first = split[0]; var second = split[1]; var third = split[2]; var fourth = split[3]; string value = string.Join("-", second, third);只是想知道是否有更短的代碼
3 回答

慕俠2389804
TA貢獻1719條經(jīng)驗 獲得超6個贊
我要出去走走,并假設(shè)您的字符串始終是四個子字符串除以三個連字符。這樣做的主要好處是它只需要基本的 String 庫。
您可以使用:
int firstDelIndex = input.IndexOf('-');
int lastDelIndex = input.LastIndexOf('-');
int neededLength = lastDelIndex - firstDelIndex - 1;
result = input.Substring((firstDelIndex + 1), neededLength);
這足夠通用,不用關(guān)心除了連字符之外的任何實際輸入是什么。
您可能希望在方法的開頭添加一個 catch 使用它來確保在嘗試拉出請求的子字符串之前輸入字符串中至少有兩個連字符。
- 3 回答
- 0 關(guān)注
- 187 瀏覽
添加回答
舉報
0/150
提交
取消