将字符串从第二个空格切成特殊字符

Slice a string from second space to a special character?

本文关键字:特殊字符 空格 第二个 字符串      更新时间:2023-09-26
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(' ('));

您可以尝试一下正则表达式:

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);