私はそのような文字列を持っています。
a-variable-part[]
another-string[x]
各文字列の長さを知らずに、文字列の最初の部分を [] の内部から分離したい
上記の例では、取得したい:
- 「変数部分」、「」
- 「別の文字列」、「x」
どのようにするか知っていますか?
私はそのような文字列を持っています。
a-variable-part[]
another-string[x]
各文字列の長さを知らずに、文字列の最初の部分を [] の内部から分離したい
上記の例では、取得したい:
どのようにするか知っていますか?
次のように、正規表現を使用して 2 つの部分を見つけることができます。
function getParts(str) {
var matches = str.match(/(^.*?)\[(.*?)\]/);
if (matches) {
return({first: matches[1], second: matches[2]});
}
return(null);
}
実際のデモ: http://jsfiddle.net/jfriend00/Nn63v/
正規表現を説明すると、文字列の先頭から最初の [ 文字までの最初の文字グループに一致します。次に、[ と ] の間にある 2 番目の文字グループに一致します。
これを実行する場合:
'another-string[x]'.slice(0, -1).split('[');
それはあなたに2つの要素の配列を与えるでしょう:["another-string", "x"]
基本的なレベルでは、これは機能します。
var myString = 'foo[bar]';
var bitInBrackets = myString.split('[')[1].split(']')[0];// will be string 'bar'
多くの文字列操作を行う場合は、正規表現について少し学ぶ価値がありますが、これがすべてであり、文字列がこの形式に従うことがわかっている場合は、上記が正常に機能します。
お役に立てれば
正規表現でこれを行う最良の方法
var result = input.match( /^([^\[]+)\[([^\]]+)\]$/ );