C# - 没有任何东西替换一个角色

时间:2011-07-26 20:27:13

标签: c# replace richtextbox

我的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();

  • 任何人都可以帮我弄清楚如何更换“。”?

7 个答案:

答案 0 :(得分:35)

字符串是不可变的,所以这一行是错误的:

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

在替换完成后返回字符串,但item保持不变。你需要这个:

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

答案 1 :(得分:4)

而不是“”使用String.Empty。 这样就没有新的对象了。

答案 2 :(得分:3)

而不是:

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

试试这个:

item = item.Replace(“。”,“”); (编辑:这是我最初的想法,但这是错误的)

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

答案 3 :(得分:3)

string item2 = item.Replace(".", "");

您需要使用Replace的结果,它不会对字符串本身进行操作。

答案 4 :(得分:2)

字符串是不可变的,所以

item.Replace(".","")

不会修改项目,但会返回一个新字符串。

您需要使用:

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

编辑:正如您从同时响应中看到的那样,我们的许多同行都同意了! ; - )

答案 5 :(得分:0)

替换你的替换:

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

用这个:

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

答案 6 :(得分:0)

怎么样

//拆分富文本框中的行string [] listOneLines = one RichTextBox.Text.Replace(“。”,“”)。Split('\ n');