15

次のような文字列があります。「必要な単語は「こんにちは」です」。

「こんにちは」(引用符なし) を JavaScript 変数に入れる最良の方法は何ですか? これを行う方法は正規表現を使用することだと思います(私はほとんど知りません)?

どんな助けでも大歓迎です!

4

3 に答える 3

32

使用match()

> var s =  "the word you need is 'hello' ";
> s.match(/'([^']+)'/)[1];
"hello"

これは、最初にキャプチャされたグループの間にあるすべてのものを格納する、開始'、その後に、を除くすべて'、そして終了に一致します。'

于 2012-09-11T09:57:34.323 に答える
2

http://jsfiddle.net/Bbh6P/

var mystring = "the word you need is 'hello'"
var matches = mystring.match(/\'(.*?)\'/);  //returns array

​alert(matches[1]);​
于 2012-09-11T10:04:48.517 に答える
0

正規表現を避けたい場合は、 を使用.split("'")して文字列を一重引用符で分割し、 を使用jquery.map()してインデックス付きの奇数部分文字列のみを返すことができます。すべての一重引用符で囲まれた部分文字列の配列。

var str = "the word you need is 'hello'";
var singleQuoted = $.map(str.split("'"), function(substr, i) {
   return (i % 2) ? substr : null;
});

デモ

注意

元の文字列に 1 つまたは複数のアポストロフィ (一重引用符と同じ) が含まれている場合、この方法と他の方法は正しくありません。

于 2012-09-11T10:20:24.443 に答える