2010-11-21 2 views
2

У меня есть многострочное текстовое поле, что я хочу, чтобы преобразовать в строку, я нашел этотмногострочного текстового поля в строку

строку textBoxValue = textBox1.Text.Replace (Environment.NewLine, «ЗНАК»);

Но не понимаете TOKEN, что такое TOKEN? пробел или/n новая строка? Если это неправильный ответ, то пожалуйста, дайте мне знать, как правильно делать это

Благодарности

+3

Нет причин, по которым вы не можете просто сохранить новую строку в строке. Какую проблему вы пытаетесь решить? – Donnie

+0

Клиент дал мне текст, этот текст является копией (захватом) приложения, которое у него есть. Единственный способ получить текст из его приложения - скопировать пасту из своего приложения в myn, база данных клиентов написана в неизвестная база данных, и у меня нет способа получить доступ к другой базе данных, чтобы вручную скопировать вставку текста из его приложения в myn, Мое приложение представляет собой многострочный текстовый файл, в который вставляется информация, эта информация содержит строки и форматирование, которые мне не нужны, следовательно, multiline to string – user511046

+0

Далее мне нужно ввести эти данные в SQLite и переписать все его приложение. Компания не хочет получать информацию из предыдущего приложения, введенного в новую базу данных, есть гиперссылки и т. д., встроенные в контент, поэтому, если есть способ, которым я могу заставить текстовое поле принимать только данные RAW, было бы лучше. – user511046

ответ

1

В фрагменте кода вы дали, «ЗНАК» любое значение, которое вы хотите вставить, например, как HTML <br /> тег, больше Environment.NewLine s для форматирования или просто какой-то случайный разделитель, который позже позволит вам разбить текст на нем.

очень простой пример:

string text = textBox1.Text.Replace(Environment.NewLine, "^"); // a random token 
string[] lines = test.Split('^'); 

Если вы обработки ввода из текстового поля, доступных в Интернете, вы также должны учитывать XSS (http://en.wikipedia.org/ вики/Cross-site_scripting). Кроме того, в реальном сценарии я бы разделился на более сложный токен и не забудьте обработать несколько возвратов каретки во входном значении.

EDIT: теперь, когда я вижу ваши фактические потребности, этот код может делать то, что вам нужно:

// replace newlines with a single whitespace 
string text = textBox1.Text.Replace(Environment.NewLine, " "); 

EDIT # 2:

дальше мне нужно ввести эти данные в SQLite и перепишите его все приложение, компания не желает , чтобы иметь информацию из прошлого приложение, введенное в новую базу данных , есть гиперссылки и т. д. inbedded в содержании, поэтому, если - это способ, я могу сделать только текстовое поле принять данные RAW, это будет .

Регулярные выражения - это способ сделать что-то подобное, если данные не достаточно структурированы для загрузки в XML или HTML DOM и процесс. Вы можете создавать регулярные выражения в различных инструментах (выполните поиск в Google для бесплатного онлайн-тестера, и вы найдете много). После того, как вы определили выражение, нужно, вы можете использовать объект Regex в C#, чтобы соответствовать, заменить и т.д.

http://msdn.microsoft.com/en-us/library/ms228595(VS.80).aspx

http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.replace(v=VS.100).aspx

0

Как она стоит, «ЗНАК» это просто строка meangingless , если он не находится в другом месте вашего кода? Вы можете заменить «TOKEN» любым текстом, который вам нравится.

Edit:

Итак, вы говорите, что вы удаление NewLine от текста вашего клиента. Таким образом, вы сделали бы это так. Вставьте их текст в текстовое поле textBox2, затем используйте следующее:

textBox2.Text = textBox2.Text.Replace (Environment.NewLine, string.Empty);

Смежные вопросы