节点和重写 - 在文本中交替替换世界? JavaScriptPython

问题描述

早上好,

我想重写一个文本并替换经常重复的单词。

  • 是否可以用从列表中随机选择的另一个词替换一个词? (“女人”由“女孩或妻子或女性”组成)

  • 是否可以替换一个单词但不是每次都替换?例如每 3 次出现?

暂时我用

srt = srt.replace(/women/gi,'girl');

谢谢

解决方法

此代码应该可以实现您要完成的任务。

我很抱歉。看了一眼代码,我以为这是 Python。这是之前 Python 代码的 Javascript 版本。

有关使用“indexOf”与“includes”的更多信息check out this article

JavaScript

const word_to_replace = "amazing";
const list_of_words = ["randWord1","randWord2","randWord3","randWord4","randWord5","randWord6"];
let blob = "This is an amazing text blob where the word amazing is replaced by a random word from list_of_words. Isn't that amazing!";
let random_word;
let randint;

while (blob.indexOf(word_to_replace) !== -1) {
    randint = Math.floor(Math.random() * list_of_words.length);
    random_word = list_of_words[randint];
    blob = blob.replace(word_to_replace,random_word);
}

Python

from random import randint


word_to_replace = "amazing"

list_of_words = ["randWord1","randWord6"]


blob = "This is an amazing text blob where the word amazing is replaced by a random word from list_of_words. Isn't that amazing!"

# Check if the word_to_replace is in the given blob.
# If there is an occurrence then loop again
# Keep looping until there aren't any more occurrences
while word_to_replace in blob:
    # Get a random word from the list called list_of_words
    random_word = list_of_words[randint(0,len(list_of_words)-1)]
    # Replace only one occurrence of word_to_replace (amazing).
    blob = blob.replace(word_to_replace,random_word,1)

# Print the result
print(blob)

要一次发生 X 次,请将 blob.replace(word_to_replace,1) 更改为 blob.replace(word_to_replace,3)。注意最后的数字。它的意思是“你想一次替换多少次出现?”

,

感谢 MsonC。我已将 python 转换为 JS

const word_to_replace = "amazing"

const list_of_words = ["randWord1","randWord6"]


var blob = "This is an amazing text blob where the word amazing is replaced by a random word from list_of_words. Isn't that amazing!"

// Check if the word_to_replace is in the given blob./ If there is an occurrence then loop again // Keep looping until there aren't any more occurrences while (blob.includes(word_to_replace)) {
    // Get a random word from the list called list_of_words
    var random_word = list_of_words[Math.floor(Math.random() * (list_of_words.length))]
    // Replace only one occurrence of word_to_replace (amazing).
    blob = blob.replace(word_to_replace,1) } // Print the result console.log(blob)