-2
我试图做一个程序,其中我想交换/改变输入字的位置: 例如: 输入字:溢出 输出: vorelfwos 我想换出的第1和第2个字母的第三,第四等,如果它在具有用于交换没有伴侣结束了一封信,我只想保留原样。有人能帮助我吗?我将使用c#btw。如何更改字母的位置在一个字的输入字符串
我试图做一个程序,其中我想交换/改变输入字的位置: 例如: 输入字:溢出 输出: vorelfwos 我想换出的第1和第2个字母的第三,第四等,如果它在具有用于交换没有伴侣结束了一封信,我只想保留原样。有人能帮助我吗?我将使用c#btw。如何更改字母的位置在一个字的输入字符串
C#字符串有一个indexer,叫System.String.Chars
:
char letter = "Hello World"[0];
letter
现在H
。
,但字符串是不变的,所以你不能改变这样一个角色:
string myString = "Hello";
myString[1] = 'R'; // Produces an error.
所以我建议使用System.Text.StringBuilder
,所以这里是一个extension method使用它:
public static string Swap(this string str, int charToSwapA, int charToSwapB)
{
System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(str);
oldCharToSwapA = stringBuilder[charToSwapA];
stringBuilder[charToSwapA] = stringBuilder[charToSwapB];
stringBuilder[charToSwapB] = stringBuilder[oldCharToSwapA];
return stringBuilder.ToString();
}
可以这样使用:
string myString = "dello WorlH".Swap(0, 10);
myString
现在是"Hello World"
。
非常感谢你! – Kirito
听起来像功课..你尝试过什么?你在哪里卡住 –
阅读[问]。介绍这个问题,*展示你所尝试过的*,并解释你卡在哪里。目前这只是“为我做我的工作”。 –
我从字面上不能拿出任何东西,我只是不知道如何才能识别单词中的第一,第二或第三个字母。 – Kirito