简体   繁体   English

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

[英]Slice a string from second space to a special character?

var name_RawString = 'A. John Doe-John (Class of 2010)';

I'm trying to extract a substring occuring after the second space and before ( . In this case: "Doe-John". 我试图提取出现在第二个空格之后和(之前的子字符串。在这种情况下:“ Doe-John”。

So far I've tried: 到目前为止,我已经尝试过:

var GetStr = name_RawString.slice(name_RawString.substr(0, name_RawString.indexOf(' ', name_RawString.indexOf(' ') + 1)), name_RawString.indexOf(' ('));

and

var StrSplit = name_RawString.split(' ');
var GetStr = name_RawString.slice(name_RawString.indexOf(StrSplit[1]) + 1)), name_RawString.indexOf(' ('));

You could give regular expressions a try: 您可以尝试使用正则表达式:

name_RawString.match(/^(?:\S+\s){2}(.+?) \(/)[1];

Or, if You prefer a more verbose solution: 或者,如果您希望使用更详细的解决方案:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM