拆分文本并在它们之间放置一些文本

时间:2017-06-18 00:21:22

标签: javascript

我有一个扩展程序即时创建的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中放置其余的代码。 所选代码的长度始终相同!

4 个答案:

答案 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}`;