私は単語の間に複数のスペースを持つ文字列を持っています。これらのスペースを削除して戻したいのですが...問題はそれらを削除した後にスペースを戻すことでした。アイデアが、それは私はあなたが単一のもので複数のスペースを交換したいと思われる任意のヘルプ削除されたスペースを戻す方法
string pt = "My name is Code"
int ptLenght = pt.Length;
char[] buffer1 = pt.ToCharArray();
spaceHolder = new int[pt.Length];
for (int m = 0; m < pt.Length; m++)
{
if (buffer1[m] == ' ')
{
hold = m;
spaceHolder[m] = hold;
}
}
char[] buffer = pt.Replace(" ", string.Empty).ToCharArray();
int stringRemovedSpaces = pt.Length;
char[] buffer = pt.ToCharArray(); // source
char[] buffer2 = new char[ptLenght]; // destination
for (int i = 0; i < pt.Length; i++)
{
buffer2[i] = buffer[i];
}
for (int i = 0; i < buffer2.Length; i++)
{
if (i == spaceHolder[i])
{
for (int m = stringRemovedSpaces; m <= i; m--)
{
buffer2[m-1] = buffer2[m];
}
buffer2[i] = ' ';
}
}
return new string(buffer2);
私はあなたが正確にしたいものは不明です。スペースのない文字列を保持するために新しい変数を作成し、スペースを元に戻すときに元の変数を参照するのはなぜでしょうか? – maccettura
あなたのコードはおそらくすべてのスペースを削除しましたか? 'Regex.Replace(" ABC "、@" \ s + "、" ")は' ABC'を返すでしょう –
あなたはステップスルーしましたか?デバッガを使ったコード(実際に@maccetturaが言うことをすべきですが、やはりyrコードを診断できるはずです) – pm100