我的文字示例:
{这是一个文本示例,这是我的 KEYWORD,但我的 KEYWORD 在此文本中多次出现,我只想替换我的一个 KEYWORD,但每次都应该随机选择}
因此,在三个关键字中,我只想替换一个,随机选择。有时我的关键字出现三次以上,有时只出现一次。
正则表达式可以做到这一点吗?
我的文字示例:
{这是一个文本示例,这是我的 KEYWORD,但我的 KEYWORD 在此文本中多次出现,我只想替换我的一个 KEYWORD,但每次都应该随机选择}
因此,在三个关键字中,我只想替换一个,随机选择。有时我的关键字出现三次以上,有时只出现一次。
正则表达式可以做到这一点吗?
不,仅使用正则表达式是不可能的。
但是,您可以使用正则表达式来查找所有关键字,生成一个随机数,然后使用该数字替换一次。
你没有选择语言,所以在这里的例子中我使用了 powershell。每次运行时,标点符号都会被删除,字符串会被分解成单词。然后随机选择一个词。
可能有些单词需要标点符号,例如单引号,即复数所有格名词末尾的撇号,或连字符的名称....话虽如此,您必须在字符串周围构建标点符号替换正则表达式
clear
$String = "This lazy brown dog, jumped over the red fox."
# strip out punctuation marks
$String = $String -replace "[^\w\s\d]", ""
# split the string into an array
[array]$ArrayOfWords = $String -split " "
# select a random word from the array
$ArrayOfWords | Get-Random