Заменить строки текстового поля содержит 2 цифры заменить на Vbcrlf (VB.Net) - PullRequest
0 голосов
/ 04 октября 2019

если у меня есть textbox1.lines> как я могу как-то сделать, где есть одна цифра, которую нужно заменить на vbcrlf? (Visual Studio)

2
77,48
1,3
7
9
11,90

Вывод:

77,48
1,3


11,90

Ответы [ 2 ]

0 голосов
/ 04 октября 2019

Это можно сделать с помощью одной строки кода с использованием расширений IEnumerable

textBox1.Lines = textBox1.Lines.Select(Function(x) 
                 If(x.Trim.Length = 1, "", x)).ToArray()

, где textBox1 - это имя переменной, ссылающейся на ваше текстовое поле.

Обратите внимание, что я добавилОбрезать внутри выражения, чтобы убедиться, что пробелы не учитываются в длине строки. Конечно, если вы хотите сохранить строки с пустыми пробелами в конце, вы можете удалить вызов Trim ().

0 голосов
/ 04 октября 2019

Что-то вроде:

Dim NewLines As List(Of String) = New List(Of String)

For Each Line As String In TextBox1.Lines
    If (Line.Contains(",")) Then
        NewLines.Add(Line)
    Else
        NewLines.Add("")
    End If
Next

TextBox1.Lines = NewLines.ToArray()

Выходы:

(blank line)
77,48
1,3
(blank line)
(blank line)
11,90

Это повторяет каждую строку в коллекции Lines. Если строка содержит запятую (которая указывает на наличие более одной буквы), она добавляет строку в список вывода. Если он не содержит запятой, он добавляет пустую строку.

Наконец, содержимое списка вывода присваивается свойству Lines TextBox.

Также:Вероятно, может быть более точное решение Linq, но я не эксперт

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...