4

文字列内の特定の 2 点間のテキストを変数に保存したいだけです。テキストは次のようになります。

..."content"=>"The text I want to save to a variable"}]...

スキャンまたはスライスを使用する必要があると思いますが、テキストの前後の正規表現識別子を取得せずにテキストだけを引き出す方法が正確にはわかりません。私はこれを試しましたが、うまくいきませんでした:

var = mystring.slice(/\"content\"\=\>\".\"/)
4

4 に答える 4

4

これは仕事をするはずです

var = mystring[/"content"=>"(.*)"/, 1]

ご了承ください:

  • .sliceエイリアス[]
  • エスケープした文字は、使用している特別な正規表現文字ではありません
  • 保持したいビットを「グループ化」できます()
  • .slice/[]一致するグループを選択するための 2 番目のパラメーターを取得します
于 2012-05-22T16:24:20.860 に答える
2
your_text = '"content"=>"The text I want to save to a variable"'
/"content"=>"(?<hooray>.*)"/ =~ your_text

その後、hooray ローカル変数が魔法のようにテキストを含むように設定されます。複数の変数を設定するために使用できます。

于 2012-05-22T16:28:26.120 に答える
1

この正規表現は文字列と一致します:

/\"content\"=>\"(.*)\"/

テスト用に rubular.com を試すことができます

于 2012-05-22T16:21:48.593 に答える
1

文を切り捨てようとしているようです。文を句読点または単語で分割できます。

mystring.split(".")
mystring.split("word")
于 2012-05-22T16:24:10.693 に答える