删除字符串的第一个字符并追加到字符串末尾

本文关键字:字符串 追加 字符 第一个 删除 | 更新日期: 2023-09-27 18:30:43

我需要获取此字符串的第一个字符:

String s = "X-4711";

并将其放在数字后面加上";",例如:4711;X。

我已经尝试过了:

String x = s.Split("-")[1] + ";" + s.Split("-")[0];

然后我明白了,但我能做得更好还是这是唯一可能的方法?

删除字符串的第一个字符并追加到字符串末尾

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

这最多使它更具可读性,并且只需拆分一次即可进行微优化。

编辑:

正如一些注释所指出的,如果您使用的是 C#6,则可以使用字符串插值来格式化字符串。它做完全相同的事情,只是看起来好一点。

var items = s.Split ("-");
string x = $"{items[1]};{items[0])}";

不确定您正在寻找什么性能的小型string操作,您的代码编写得很好,可以满足您的需求。

您可能会考虑的一件小事是删除对输入字符串执行的额外拆分。

var subs = s.Split ("-");
String.Format ("{0};{1}", subs [1], subs [0]);

如果你正在寻找单行(疯狂的程序员),这可能会有所帮助。

string.Join(";", s.Split('-').Reverse())

String.Substring:从此实例中检索子字符串。子字符串从指定的字符位置开始,并具有指定的长度。

string sub = input.Substring(0, 1);
string restStr = input.Substring(2, input.length-2);
// string restStr = input.Substring(2); Can also use this instead of above line
string madeStr = restStr + ";" + sub;

调用 Substring 方法以从从指定字符位置开始并在字符串末尾结束的字符串中提取子字符串。起始字符位置从零开始;换句话说,字符串中的第一个字符位于索引 0 处,而不是索引 1。若要提取从指定字符位置开始并继续到字符串末尾的子字符串,请调用 Substring 方法。