繁体   English   中英

如何从主字符串中获取子字符串值?

[英]How to get substring value from main string?

我有类似于这个的字符串。

HTML

var str = "samplestring=:customerid and samplestring1=:dept";

JS

var parts = str.split(':');
var answer = parts;

我想修剪以主字符串中的冒号:符号开头的子串

但它正在像这样重新调整价值

samplestring=,customerid and samplestring1=,dept

但我想要这样的东西。

customerid,dept

我动态获取主字符串它可能有2个以上的冒号。

我创造了一个小提琴也链接

 var str = "samplestring=:customerid and samplestring1=:dept"; alert(str.match(/:(\\w+)/g).map(function(s){return s.substr(1)}).join(",")) 

你可以试试正则表达式:

var matches = str.match(/=:(\w+)/g); 
var answer = [];

if(matches){
    matches.forEach(function(s){
        answer.push(s.substr(2));
    });
}

这是一个单行:

$.map(str.match(/:(\w+)/g), function(e, v) { return e.substr(1); }).join(",")

你可以这样试试

var str = "samplestring=:customerid and samplestring1=:dept and samplestring11=:dept";

var results = [];

var parts = str.split(' and ');
$.each(parts, function( key, value ) {
    results.push(value.split(':')[1]);
});

现在, results数组包含三个值customeriddeptdept

尝试

var str = "samplestring=:customerid and samplestring1=:dept";
var parts = str.split(':');
var dept = parts[2];
var cus_id = parts[1].split(' and ')[0];
alert(cus_id + ", " + dept );

使用这个你会得到o / p,如: customerid,dept

这会给你你需要的东西......

var str = "samplestring=:customerid and samplestring1=:dept";
var parts = str.split(' and ');
var answer = [];
for (var i = 0; i < parts.length; i++) {
  answer.push(parts[i].substring(parts[i].indexOf(':')+1));    
}

alert(answer);

 var str = "samplestring=:customerid and samplestring1=:dept"; alert(str.replace(/[^:]*:(\\w+)/g, ",$1").substr(1)) 

这里\\S其中S是大写是得到不是空格字符,所以它会得到单词,直到第一个空格匹配它,所以它将匹配后面的单词:直到第一个空格,我们使用/g不仅匹配fisrt单词和继续在字符串中搜索其他匹配项:

str.match(/:(\S*)/g).map(function(s){return s.substr(1)}).join(",")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM