次のようなRichTextBox
があります。
TEXT NEXT_TEXT 10.505 -174.994 0
TEXT NEXT_TEXT 100.005 174.994 90
TEXT NEXT_TEXT -10.000 -5.555 180
TEXT NEXT_TEXT -500.987 5.123 270
TEXT NEXT_TEXT 987.123 1.000 180
TEXT NEXT_TEXT 234.567 200.999 90
"。"を何も置き換えずにListBox
...に配置したい.
したがって、新しいファイルは次のようになります。
TEXT NEXT_TEXT 10505 -174994 0
TEXT NEXT_TEXT 100005 174994 90
TEXT NEXT_TEXT -10000 -5555 180
TEXT NEXT_TEXT -500987 5123 270
TEXT NEXT_TEXT 987123 1000 180
TEXT NEXT_TEXT 234567 200999 90
値に1000を掛けることを考えましたが、文字列の一致計算を適切に行う方法がわかりません。
したがって、次の考えはこれを行うことでした(これが機能しない場合でも):
// Splits the lines in the rich text boxes
string[] listOneLines = oneRichTextBox.Text.Split('\n');
// Set the selection mode to multiple and extended.
placementOneListBox.SelectionMode = SelectionMode.MultiExtended;
// Shutdown the painting of the ListBox as items are added.
placementOneListBox.BeginUpdate();
// Display the items in the listbox.
foreach (var item in listOneLines)
{
item.Replace(".","");
placementOneListBox.Items.Add(item);
}
// Allow the ListBox to repaint and display the new items.
placementOneListBox.EndUpdate();
文字列は不変なので、この行は間違っています:
item.Replace(".","");
これは、置換が行われた後の文字列を返しますが、item
は変更されません。あなたはこれを必要とします:
foreach (var item in listOneLines)
placementOneListBox.Items.Add(item.Replace(".",""));
「」の代わりにString.Emptyを使用します。この方法では、新しいオブジェクトは作成されません。
の代わりに:
item.Replace(".", "");
これを試して:
item = item.Replace( "。"、 ""); (編集:これは私の最初のアイデアでしたが、間違っています)
placementOneListBox.Items.Add(item.Replace(".", ""));
string item2 = item.Replace(".", "");
Replace
の結果を使用する必要があります。これは文字列自体には作用しません。
文字列は不変なので、
item.Replace(".","")
アイテムを変更しませんが、新しい文字列を返します。
使用する必要があります:
placementOneListBox.Items.Add(item.Replace(".",""));
編集:そして、あなたは同時応答の乱れからわかるように、私たちの仲間の多くが同意します! ;-)
あなたの交換を交換してください:
item.Replace(".","");
これとともに:
item = item.Replace(".","");
いかがですか
//リッチテキストボックスの行を分割しますstring [] listOneLines = oneRichTextBox.Text.Replace( "。"、 "")。Split( '\ n');