首页 > 解决方案 > 如何用单个回车替换多个回车/换行符?

问题描述

在文本框中;我在文本框失去焦点时进行编码,然后触发事件以删除多个回车符和换行符,并使用单个回车符和换行符。

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

我试了一会儿;但它继续不停。

我尝试了一个离开事件,但它就像切换代码。

转变:

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"

})

例如,

美国广播公司

(5 次退货/换行)

美国广播公司

(7 次退货/换行)

美国广播公司

当文本框失去焦点时,代码触发然后结果应该是:

美国广播公司

(1个返回/换行)

美国广播公司

(1个返回/换行)

美国广播公司

标签: powershell

解决方案


试试这个:

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


$TextBox1.add_leave( $action )

推荐阅读