web-dev-qa-db-ja.com

C#-文字を何も置換しない

次のような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();

  • 誰かが「。」を置き換える方法を理解するのを手伝ってくれる?
27
theNoobGuy

文字列は不変なので、この行は間違っています:

item.Replace(".","");

これは、置換が行われた後の文字列を返しますが、itemは変更されません。あなたはこれを必要とします:

foreach (var item in listOneLines)
    placementOneListBox.Items.Add(item.Replace(".",""));
35
David Heffernan

「」の代わりにString.Emptyを使用します。この方法では、新しいオブジェクトは作成されません。

4
VRC

の代わりに:

item.Replace(".", "");

これを試して:

item = item.Replace( "。"、 ""); (編集:これは私の最初のアイデアでしたが、間違っています)

placementOneListBox.Items.Add(item.Replace(".", ""));
3
djdanlib
string item2 = item.Replace(".", "");

Replaceの結果を使用する必要があります。これは文字列自体には作用しません。

3
Mike Caron

文字列は不変なので、

item.Replace(".","")

アイテムを変更しませんが、新しい文字列を返します。

使用する必要があります:

placementOneListBox.Items.Add(item.Replace(".",""));

編集:そして、あなたは同時応答の乱れからわか​​るように、私たちの仲間の多くが同意します! ;-)

2
Steve Morgan

あなたの交換を交換してください:

item.Replace(".","");

これとともに:

item = item.Replace(".","");
0
Frank Pearson

いかがですか

//リッチテキストボックスの行を分割しますstring [] listOneLines = oneRichTextBox.Text.Replace( "。"、 "")。Split( '\ n');

0
Ali Humayun