2016-04-21 5 views
0
var name_RawString = 'A. John Doe-John (Class of 2010)'; 

私は、第2のスペースの後で、(の前に出現する部分文字列を抽出しようとしています。この場合: "Doe-John"。文字列を2番目のスペースから特殊文字にスライスしますか?

これまでのところ、私が試した:

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(' (')); 
+0

文字列の値は常に同じですか? –

+0

いいえ、これは 'StrSplit [0] .indexOf( '。')> -1 ' – faalbane

+0

proib this(var name_RawString =' A. John Doe-John(Class of 2010) ')という文字列の条件文で使用されます。 ; var space = name_RawString.split( ''); console.log(スペース[1] + ""スペース[2]);) –

答えて

0

をあなたは正規表現を試してみることができます:

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); 
関連する問題