切换字符串的部分

时间:2016-01-19 08:22:59

标签: c# string

我有一个看起来像这样的字符串列表

String s = "Top-0001-V[5]"

我需要将部件切换到此模式:

String sF = "0001-Top-V-[5]"

我已经尝试将它们拆分为“ - ”然后添加它们,但问题是它是一个非常长的代码行,有没有办法以一种简单的方式执行此操作,或者我必须将它全部拆分向上的方式并将其添加回来?

2 个答案:

答案 0 :(得分:3)

这可能会为你做到这一点

var items = s.Split('-');
items[items.Length - 1] =  items[items.Length - 1].Replace("[","-[");
string x = String.Format("{0}-{1}-{2}", items[1], items[0], items[2]);

输出

  

0001-顶V- [5]

如果字符串的格式很常见,您也可以使用String.Substring,因为String.Substring从此实例中检索子字符串。子字符串从指定的字符位置开始,并具有指定的长度。

答案 1 :(得分:3)

正则表达式可能有所帮助:

var r = new Regex("(Top)-(\\d+)-(V)\\[(\\d+)\\]");
string result = r.Replace(myInout, "$2-$1-$3-[$4]")