我是一名JavaScript / GoogleScript新手,所以请耐心等待。我正在尝试在Google Docs中创建一个脚本,该脚本能够找到所有包含10个字符的单词实例,并在其中附加一个元素,这样就会给我一个网址。
示例:这是我的链接菠萝
我想找到10个字符串,即菠萝,并在每个长度为10的字符串前添加google.com/。
给我"这是我的链接google.com/pineapples。"
function myFunction() {
var str = document.getElementById(str.length=10);
var res = str.replace("str.length=10", "br"+"str.length=10");
这似乎完全错了,但我现在所能提出的所有内容。
答案 0 :(得分:0)
这是一个可能的解决方案:
google.com/
如果某个部分有10个字符
var str = "Here is my link pineapples",
arr = str.split(' ');
for (var i = 0; i < arr.length; i++) {
if (arr[i].length === 10) {
arr[i] = 'google.com/' + arr[i];
}
}
console.log(arr.join(' '));
答案 1 :(得分:0)
您可以使用正则表达式然后使用反向引用来引用匹配组。
正则表达方式: (\S{10})
它有3个部分
\S
匹配空格,制表符或换行符以外的任何内容。 {10}
恰好匹配上述字符10次。()
是捕获组,稍后在正则表达式$1
中使用。 您可以获得更多信息here,详细解释上述正则表达式。
您可以根据自己的需要进行更改。
var stringVal = "Here is my link pineapples";
var stringReplaced = stringVal.replace(/(\S{10})/, "google.com/$1");
console.log(stringReplaced);
&#13;
答案 2 :(得分:-1)
好的,请耐心等待,但我的想法如下: 您要替换的文本是否都在同一个类的元素中?如果是这样,你可以做这样的事情(jQuery希望你不介意)
function myFunction(){
$('myClass').each(function(){
var innerText = $(this).text();
var substring = innerText.substr(0,9);
$(this).text(substring);
}
}