我想从最后获取子串。在javascript中

时间:2016-05-09 06:58:33

标签: javascript

我有一个类似以下的字符串,我想从上一个.删除到下一个字符:

var str  =  "obj.test.test1";
**i want a function to return this ==== > "obj.test";**
OR 
var str2 = "obj.test1.test2.test3.test4";
**===========> "obj.test1.test2.test3";**

var str2 = "obj.test1.test2.test3.test4.test5";
**===========> "obj.test1.test2.test3.test4";**

我知道像substr()这样的功能,但我不知道这是怎么回事。

2 个答案:

答案 0 :(得分:3)

只需使用lastIndexOf函数:

var str2 = "obj.test1.test2.test3.test4.test5";
var result = str2.substr(0,str2.lastIndexOf('.'));
document.write(result)

答案 1 :(得分:1)

使用正则表达式/^.*(?=\.[^.]+$)/



D3.js




Regex explanation

Regular expression visualization

或使用 substr() (或 substring() lastIndexOf()



function getString(str) {
  return str.match(/^.*(?=\.[^.]+$)/)[0];
}

var str = "obj.test.test1";
var str1 = "obj.test1.test2.test3.test4";
var str2 = "obj.test1.test2.test3.test4.test5";


document.write(getString(str) + '<br>' +
  getString(str1) + '<br>' +
  getString(str2));
&#13;
&#13;
&#13;