我有一个扩展程序即时创建的Javascript代码,我需要分割单词即时选择,每个部分的一半... 例如,这是我用于我需要的每个页面的代码
function child1_7Search(info,tab) {
chrome.tabs.create({
url: "www.blablabla.com/" + info.selectionText,
});
}
但是我必须将选定的代码拆分为2.例如,我选择的代码是 1854BIGGER000208 ,其中前四个字母需要分成两半并放在URL和其他位置十二个字母需要放在其他地方,但在URL中。 页面需要看起来像这样
https://www.urbano.com.ar/urbano3/wbs/cespecifica/?shi_codigo=001854&cli_codigo=BIGGER000208
在shi_codigo中添加两个零并放入前半部分,在cli_codigo中放置其余的代码。 所选代码的长度始终相同!
答案 0 :(得分:2)
您可以尝试连接这样的部分..
// this is your original text / code that you get
var text = "1854BIGGER000208"
// here we `slice` or take first 4 chars from it
var pret = text.slice(0,4);
// here we are taking other half of the text
var post = text.slice(4);
// and here we just concatenate them into final url part
var final = "shi_codigo" + "00" + pret + "&cli_codigo=" + post
console.log( final );
我想你也想要连接url
的第一部分,为此你也可以在+
符号前加上它,就像我们对上面代码的所有部分所做的那样.. < / p>
答案 1 :(得分:1)
以下是使用.substring() method的简单解决方案:
var code = "1854BIGGER000208";
var shi = "00" + code.substring(0, 4);
var cli = code.substring(4);
var url = "https://www.urbano.com.ar/urbano3/wbs/cespecifica/?shi_codigo=" + shi + "&cli_codigo=" + cli;
console.log(url);
注意:强>
code.substring(0, 4)
将从选区中提取前四位数字,返回1854
。code.substring(4)
将提取选区中的剩余字符并返回BIGGER000208
。""
在"00"
中使用两个零包裹在一个字符串中
因此,它们可以与shi
代码连接,否则00+1854
会
被评估为1854
。答案 2 :(得分:-1)
以下是一些可以在JavaScript中使用的字符串函数。
https://www.w3schools.com/jsref/jsref_obj_string.asp
特别是,您可能希望使用切片功能。语法如下:
var l = info.selectionText.length() - 1;
var num = info.selectionText.slice(0,3);
var end = info.selectionText.slice(4, l);
这里,传递给切片函数的属性是您希望切割字符串的起点和终点。像往常一样,索引从0开始。
答案 3 :(得分:-1)
使用ES6 Sintax的解决方案
let yourString = "yourstringthatneedstobesliced";
let initial = yourString.slice(0,4);
let post = yourString.slice(4);
let char = `shi_codigo=00${initial}&cli_codigo=${post}`;