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

kupeojn6  于 2023-11-20  发布在  其他
关注(0)|答案(1)|浏览(150)

此问题在此处已有答案

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

  1. if ($syllableCount -ge 2 -and $lastthree -eq 'ing') {
  2. $newWord = $word -replace "ing$", "in'"
  3. $newWord
  4. }
  5. else {
  6. $word
  7. }

字符串
产出:

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


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

  1. if ($syllableCount -ge 2 -and $lastthree -eq 'ing') {
  2. $newWord = $word -replace "ing$", "in'"
  3. $newWord
  4. }
  5. else {
  6. $word
  7. }


实际产量:

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


希望看到:

  1. Doin' makin' goin'

zwghvu4y

zwghvu4y1#

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

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

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

相关问题