我有一个字符串"abc|def|123|456|xxx"
。我需要根据分隔符的位置提取字符串的子集。逻辑是使用已知的分隔符"|"
并选择"|"
分隔符的第2个字段。
一个功能,例如这样就足够了。
语法:function.name(string,delimiter,field count)
示例1:function.name("abc|def|123|456|xxx","|",2)
答案:“def”
示例2:function.name("abc|def|123|456|xxx","|",4)
答案:“456”
答案 0 :(得分:0)
看一下String.split函数:它几乎可以满足您的需求。所以:
(“abc | def | 123 | 456 | xxx”.split(“\ |”))[1] ==“123”
说明:split采用正则表达式并将字符串拆分为数组。就像javascript对应的一样。数组是从0开始的,所以第二个条目是“def”。 “\”可能没有必要,也许只是拆分(“|”)有效 - 它会逃避|字符,以防它在正则表达式中有任何特殊意义。
答案 1 :(得分:0)
使用JavaScript字符串split() function通过splitin delimiter
将字符串转换为数组,而不是根据提供的字段数从数组中获取值。
请尝试以下代码:
function getStrValue(str,delimiter,fld_cnt)
{
var res = str.split(delimiter);
if(fld_cnt > res.length){
alert('Field count is more than your string array size.');
}
else{
var retVal = res[fld_cnt-1];
alert(retVal); //return value of "retVal" from here.
}
}