regex 使用正则表达式替换某些文本[重复]

kupeojn6  于 7个月前  发布在  其他
关注(0)|答案(1)|浏览(76)

此问题在此处已有答案

Regular expression for words which end with e(2个答案)
21天前关闭
这段代码只替换了字符串中的最后一个示例,有办法让它在字符串中的所有示例上工作吗?

if ($syllableCount -ge 2 -and $lastthree -eq 'ing') {
        $newWord = $word -replace "ing$", "in'"
        $newWord
    }
    else {
        $word
    }

字符串
产出:

.\friar.ps1 -words 'Doing making going'
Doing making goin'


PS -我正在做Doug Finkes Tiny-Powershell-Projects的挑战,他们很有趣。

if ($syllableCount -ge 2 -and $lastthree -eq 'ing') {
        $newWord = $word -replace "ing$", "in'"
        $newWord
    }
    else {
        $word
    }


实际产量:

.\friar.ps1 -words 'Doing making going'
Doing making goin'


希望看到:

Doin' makin' goin'

zwghvu4y

zwghvu4y1#

你的正则表达式只需要做一个小小的修改就可以了,把$(字符串的结尾)改成\b(匹配一个词的边界),那么它就可以工作了:

'Doing making going' -replace 'ing\b', "in'"

字符串
有关正则表达式的详细信息,请参见https://regex101.com/r/KCIHRc/1

相关问题