var name_RawString = 'A. John Doe-John (Class of 2010)';我正在尝试提取一个出现在第二个空格之后、(之前的子串。在这种情况下:"Doe-John“。
到目前为止,我已经尝试过:
var GetStr = name_RawString.slice(name_RawString.substr(0, name_RawString.indexOf(' ', name_RawString.indexOf(' ') + 1)), name_RawString.indexOf(' ('));和
var StrSplit = name_RawString.split(' ');
var GetStr = name_RawString.slice(name_RawString.indexOf(StrSplit[1]) + 1)), name_RawString.indexOf(' ('));发布于 2016-04-22 06:22:07
您可以尝试正则表达式:
name_RawString.match(/^(?:\S+\s){2}(.+?) \(/)[1];或者,如果您喜欢更详细的解决方案:
var haystack = 'A. John Doe-John (Class of 2010)';
var firstSpaceIndex = haystack.indexOf(' ');
var secondSpaceIndex = haystack.indexOf(' ', firstSpaceIndex + 1);
var openParenIndex = haystack.indexOf('(');
var needle = haystack.slice(secondSpaceIndex + 1, openParenIndex - 1);https://stackoverflow.com/questions/36779610
复制相似问题