С# - заменить символ ничем
У меня есть 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();
- Может кто-нибудь помочь мне выяснить, как заменить "."?
Ответы
Ответ 1
Строки неизменяемы, поэтому эта строка неверна:
item.Replace(".","");
Это возвращает строку после ее замены, но item
не изменяется. Вам это нужно:
foreach (var item in listOneLines)
placementOneListBox.Items.Add(item.Replace(".",""));
Ответ 2
Вместо:
item.Replace(".", "");
Попробуйте следующее:
item = item.Replace( ".", ""); (изменить: это была моя оригинальная идея, но это неправильно)
placementOneListBox.Items.Add(item.Replace(".", ""));
Ответ 3
string item2 = item.Replace(".", "");
Вам нужно использовать результат Replace
, он не работает с самой строкой.
Ответ 4
Строки неизменяемы, поэтому
item.Replace(".","")
не изменяет элемент, а возвращает новую строку.
Вам нужно использовать:
placementOneListBox.Items.Add(item.Replace(".",""));
Изменить: и, как вы можете видеть из-за шквал одновременных ответов, многие из наших сверстников согласны!; -)
Ответ 5
Вместо "" используйте String.Empty.
Таким образом, новый объект не создан.
Ответ 6
Замените замену:
item.Replace(".","");
с этим:
item = item.Replace(".","");
Ответ 7
Как насчет
//Разделяет строки в богатых текстовых полях string [] listOneLines = oneRichTextBox.Text.Replace( ".", ""). Split ('\n');