用特定长度的JavaScript/Google脚本查找并替换所有字符串
我是JavaScript/GoogleScript的新手,所以请容忍我。我正试图在谷歌文档中创建一个脚本,它能够找到所有恰好有10个字符的单词实例,并在它们后面添加一个元素,这反过来会给我一个url 这是我的链接菠萝 我想找到10个字符的字符串,即菠萝,然后在每个长度为10的字符串前面添加google.com/ 给我“这是我的google.com/Pinepples链接。”用特定长度的JavaScript/Google脚本查找并替换所有字符串,javascript,regex,google-chrome-extension,Javascript,Regex,Google Chrome Extension,我是JavaScript/GoogleScript的新手,所以请容忍我。我正试图在谷歌文档中创建一个脚本,它能够找到所有恰好有10个字符的单词实例,并在它们后面添加一个元素,这反过来会给我一个url 这是我的链接菠萝 我想找到10个字符的字符串,即菠萝,然后在每个长度为10的字符串前面添加google.com/ 给我“这是我的google.com/Pinepples链接。” 这似乎是完全错误的,但我现在能想到的是。这里有一个可能的解决方案: 使用空格作为分隔符拆分字符串(这将为您提供一个数组)
这似乎是完全错误的,但我现在能想到的是。这里有一个可能的解决方案:
google.com/
前加前缀var str=“这是我的链接菠萝”,
arr=str.split(“”);
对于(变量i=0;i 控制台日志(arr.join(“”))代码>您可以通过使用正则表达式,然后使用反向引用来引用匹配的组来使其工作
正则表达式:(\S{10})
它有三个部分
\S
匹配空格、制表符或换行符以外的任何内容李>
{10}
与上述字符精确匹配10次
()
是捕获组,稍后在regex$1
中使用李>
您可以获得更多详细解释上述正则表达式的信息
您可以根据需要更改它
var stringVal=“这是我的链接菠萝”;
var stringReplaced=stringVal.replace(/(\S{10})/,“google.com/$1”);
控制台日志(已替换)代码>好的,请容忍我,但我的想法如下:
要替换的文本是否都在同一类的元素中?如果是这样,您可以这样做(jQuery希望您不介意)
看起来您需要.replace(/\b\w{10}\b/g,“google.com/$&”)
。但是,如果您只需要处理实际上是非空白块的“单词”,那么使用更直接的拆分连接方法。
function myFunction() {
var str = document.getElementById(str.length=10);
var res = str.replace("str.length=10", "br"+"str.length=10");
function myFunction(){
$('myClass').each(function(){
var innerText = $(this).text();
var substring = innerText.substr(0,9);
$(this).text(substring);
}
}