Java:根据分隔符从字符串中提取值

时间:2014-03-05 08:05:41

标签: javascript string position delimiter

我有一个字符串"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”

2 个答案:

答案 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.
  }
}