2016-01-22 1 views
0

У меня есть проект VB.NET и у меня есть текст многострочного текстового поля в этом, какудалить пробелы из начала строки

abc 
    def 
    ghi 
     jkl 
mn 

каждая строка начинается с пробелами я хочу, чтобы удалить начальные пробелы от всей линии

Я попытался

For Each lne In TextBox1.Lines 
      If lne.StartsWith(" ") Then 
       TextBox1.Text = TextBox1.Text.Replace(" ", "") 
      End If 
     Next 

но удаляет другие тексты в текстовом поле и не прист К

+0

Вам нужно как-то использовать регулярное выражение. В нотации PREIX regex вы хотите заменить '^ [[: space:]] *' пустой строкой. Я не знаю, как это сделать в vb.net. –

+1

RegEx? Для этого? Overkill, overkill, overkill. – Tim

+3

Overkill^Overkill, infact. –

ответ

5

Вы можете использовать это:

Dim result As String = "" 
For Each lne In TextBox1.Lines 
    result += lne.TrimStart() & Environment.NewLine 
Next 
TextBox1.Text = result 

Описанный выше метод использует функцию String.TrimStart() удалить ведущие пробельные из каждой строки.

+0

работает безупречно! thanks man –

+0

Обратите внимание, что текстовое поле TextBox1 только перезаписывается в конце. Это важное отличие от исходного кода проблемы. Единственное, что я бы изменил, это использовать 'StringBuilder' вместо String Concatenation –