如何用单个回车符替换多个回车符/换行符?

时间:2019-05-14 05:37:45

标签: powershell

在文本框中;当文本框失去焦点时,我进行了编码,然后触发了该事件,以删除多个回车符和换行符,并带有一个回车符和换行符。

我尝试了一个开关,它可以工作,但是我需要一个循环。一旦找到并替换了比赛;它不会继续其余的事情。

我尝试了一段时间;但它继续没有停止。

我尝试了请假事件,但这就像切换代码。

切换:

Switch($Textbox1.text -eq "`r`n`r`n`r`n"){
    $TextBox1.text = $TextBox1.text -replace "`r`n`r`n`r`n", "`r`n`r`n"
}

而:

While($Textbox1.text -match "`r`n`r`n`r`n"){
    $TextBox1.text = $TextBox1.text -replace "`r`n`r`n`r`n", "`r`n`r`n"
}

离开事件:

$TextBox1.add_leave({

    $TextBox1.text = $TextBox1.text -replace "`r`n`r`n`r`n", "`r`n`r`n"

})

例如,

abc

(5个返回/换行符)

abc

(7个返回/换行符)

abc

当文本框失去焦点时,代码触发,则结果应为:

abc

(1个返回/换行符)

abc

(1个返回/换行符)

abc

1 个答案:

答案 0 :(得分:1)

尝试这个:

$action = { $TextBox1.text -replace "(`r`n){2,}","`r`n" }


$TextBox1.add_leave( $action )