Javascript:获取字符串的位置然后生成随机文本

时间:2017-08-10 09:16:26

标签: javascript

我这里有3个例句,其中名称是动态生成的。

是否有可能获得这个名称的位置,比如说它是在" 我' m "在之前,

<p id="demo">Hi, I'm Johnny Bravo, how can i help you?</p>

<p id="demo">Hi, I'm Martir de Kuts, how can i help you?</p>

<p id="demo">Hi, I'm Jayson Dee, how can i help you?</p>

在句子上取名字后。我接下来要做的就是在它上面生成一个随机名称,但我有一个工作代码,所以我只需要确定是根据我的例子获取名称的位置。

****** 更新到我的帖子 ******

这就是我想要实现的目标,现在它的工作和感谢帮助我。

&#13;
&#13;
var target = document.getElementById('demo');
var text = target.textContent;
var ArrayName = ['Vincent', 'Marie', 'Paul', 'Virginie'];
var randomIndex = Math.floor(Math.random() * ArrayName.length); 
var randomElement = ArrayName[randomIndex];
var split1 = text.split(',');
var split2 = split1[1].split("I'm ")
split2[1] = randomElement;
split1[1] = split2.join("I'm ");
target.textContent = split1.join(',');
&#13;
<p id="demo">Hi, I'm Johnny Bravo, how can i help you?</p>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

检查herehttps://www.w3schools.com/Jsref/jsref_indexof.asp

示例:

var sentence = "Hi, I'm Johnny Bravo, how can i help you?";

var place = sentence.indexOf("Johnny Bravo");
//place = 9

sentence = sentece.replace("Johnny Bravo", "Gordon Freeman"); 
//sentence = "Hi, I'm Gordon Freeman, how can i help you?"

答案 1 :(得分:0)

使用字符串拆分

var target = document.getElementById('demo');
var text = target.textContent;
var split1 = text.split(',');
var split2 = split1[1].split("I'm ")
split2[1] = 'Foo Bar';
split1[1] = split2.join("I'm ");
target.textContent = split1.join(',');
<p id="demo">Hi, I'm Johnny Bravo, how can i help you?</p>