#c# #string
#c# #строка
Вопрос:
Когда я копирую строку из набора данных Excel в текстовое поле, строка содержит ОГРОМНЫЕ пробелы между каждым элементом в строке.
В настоящее время мне нужно if (textBox1.Text.Contains(" ") == true)
определить пробелы в строке.
Что бы я использовал для удаления этих пробелов?
Дополнительный вопрос: Мне все еще нужен один пробел между каждым элементом в строке, как бы я добавил это и при этом удалил огромные пробелы?
private void radioGenerateScript_CheckedChanged(object sender, EventArgs e)
{
hexData.Cells.Copy();
textBox1.Clear();
textBox1.Paste();
if (textBox1.Text.Contains(" ") == true)
{
}
}
private void radioWriteScript_CheckedChanged(object sender, EventArgs e)
{
string waveForm = textBox1.Text;
System.IO.File.WriteAllText("E:/Scripts/Test.us1", waveForm);
}
Ответ №1:
Если вы хотите удалить все виды пробелов, используйте:
textBox1.Text = Regex.Replace(textBox1.Text, @"s ", "");
s
соответствует всем пробелам (пробелам, табуляции и новым строкам).
Комментарии:
1. Вам нужно добавить
using System.Text.RegularExpressions;
2. Буквально только что сделал это, когда вы отправляли этот ответ: P.
Ответ №2:
textBox1.Text = Regex.Replace(textBox1.Text, " ", " ");
Кажется, у вас есть табуляции в качестве разделителей, поэтому лучше использовать следующее (как предложил Алексей):
textBox1.Text = Regex.Replace(textBox1.Text, @"s ", " ");
Комментарии:
1. Похоже, это должно сработать. Но одна вещь, которую я заметил, — это когда я открываю текстовый файл, в который я писал. Пробел может быть удален одним нажатием кнопки delete. Как будто там есть один массивный символ.
2. 1. Идеальный вариант для использования регулярных выражений. Вы можете подумать,
s
нужно ли вам включать табуляции (что, похоже, имеет место в случае с @DeeWBee — «один массивный символ») и все другие странные символы «пробела», такие как неразрывный пробел.
Ответ №3:
textBox1.Text = textBox1.Text.Replace(" ", "");
Если вы хотите сохранить некоторые пробелы, используйте Split
и string.Join
var words = textBox1.Text.Split(new [] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
textBox1.Text = string.Join(" ", words);
Комментарии:
1. Похоже, это должно сработать. Но одна вещь, которую я заметил, — это когда я открываю текстовый файл, в который я писал. Пробел может быть удален одним нажатием кнопки delete. Как будто там есть один массивный символ.