使用以下代码将字符串写入RichTextBox
$TextBox.text = "`r`n Some Text `r`n" + $TextBox.text
在某些情况下,我需要从文本中删除特定行。问题是,我设法找到并删除该行,但文本的其余部分仅移动1行而不是2
$TextBox.text = (($TextBox.text -split "`n") | ? {$_ -notmatch 'WordToSearch'}) -join "`n"
正如我所说,它删除了线,但仍然存在不必要的新线。如何在不使用数组或其他复杂方法的情况下删除它?
例如,这就是文本的外观:
\\empty line row 1, some text \\empty line row 2, some text \\empty line
在我尝试删除第1行后,它看起来像这样:
\\empty line \\empty line row 2, some text \\empty line
预期:
\\empty line row 2, some text \\empty line
答案 0 :(得分:1)
这是从字符串中删除空行的一种方法:
$str = "Line 1`r`n`r`n`r`nLine 4`r`n`r`nLine 6"
while ( $str -match "`r`n`r`n" ) {
$str = $str -replace "`r`n`r`n","`r`n"
}
$str
# now $str contains only "Line 1", "Line 4", and "Line 6"
答案 1 :(得分:0)
您应该可以使用-replace
然后使用.trim()
来确保您不会有多个空白行(如果要移除的行是最后一行),那么请添加您的最终行空白行返回+'`r`n'
$find = "row 1"
$TextBox.text = ($TextBox.text -replace "(?mi)^.*$find.*`$(`r?`n)*",'').trim()+'`r`n'