私はこのようになり、いくつかの文字列を持っています。どのようにループ内のこれらの文字列すべてからかっこを削除できますか?Rubyの文字列から特定の文字を切り取る方法は?</p> <pre><code>"((String1))" </code></pre> <p>彼らはすべての異なる長さは、次のとおりです。
答えて
正規表現でString#gsub
を使用する:
"((String1))".gsub(/^\(+|\)+$/, '')
# => "String1"
"((((((parentheses)))".gsub(/^\(+|\)+$/, '')
# => " parentheses "
これは、周囲の括弧のみを削除します。
"((((((This (is) string)))".gsub(/^\(+|\)+$/, '')
# => " This (is) string "
+1(囲む括弧のみを削除)。 –
あなただけの、あなたが文字列にnegative indexesを使用することができ、最初の2つの文字と最後の2を削除する場合:
s = "((String1))"
s = s[2...-2]
p s # => "String1"
を
文字列からすべてのカッコを削除する場合は、文字列クラスのdeleteメソッドを使用できます。
この出くわすとパフォーマンスをお探しの方にs = "((String1))"
s.delete! '()'
p s # => "String1"
これは、(見た目に)OPが望むものではない、文字列の中央にある括弧もすべて削除します。これが必要な場合は、これは最も洗練されたソリューションです。 – iamnotmaynard
#delete
と#tr
がgsub
より速い程度の速度で同じと2-4xあるように、それが見えます。文字クラスには何もしないでマッチ - 使用して
1)Negative character class pattern matching
irb(main)> "((String1))"[/[^()]+/]
=> "String1"
^
は:ここでは
text = "Here is a string with/some forwa/rd slashes"
tr = Benchmark.measure { 10000.times { text.tr('/', '') } }
# tr.total => 0.01
delete = Benchmark.measure { 10000.times { text.delete('/') } }
# delete.total => 0.01
gsub = Benchmark.measure { 10000.times { text.gsub('/', '') } }
# gsub.total => 0.02 - 0.04
はこれを達成するためのさらに短い方法です。 charachterクラスの内部には、(
と)
があります。他にも言及しているように、グローバル置換「AKA:gsub」を使用しています。
irb(main)> "((String1))".gsub(/[)(]/, '')
=> "String1"
- 1. だから私は私の<code>config.fish</code>に次の文字列を持っている、と<code>init.vim</code>文字列
- 2. 彼らはJavaScriptの文字列で</p> <p><strong>/</strong></p> <p>代わりの</p> <p><strong>"</strong></p> <p>を使用しないのはなぜJavaScriptの文字列の引用符は、メソッド
- 3. のArrayList <Hashtableの<文字列から値を取得する方法を、ArrayListの<String> >>
- 4. <<<と終了区切り文字で文字列を埋めることができるときは、何を呼び出すのですか?
- 5. リスト<カンマ区切り文字列> =>リスト<string>?
- 6. 私は単一の文字列引数、<strong>テキスト</strong>を取り、言葉で測定<strong>テキスト</strong>、最長の文の長さを返す関数を記述しようとしています与えられた文字列
- 7. ObservableCollectionの型から文字列 "System.Collections.ObjectModel.ObservableCollection <System.String>"を取得する<string>?
- 8. 指定されたURLに文字列を取得する方法は?私は、文字列データurl.but</p> <p>ディスプレイから文字列データや画像データを取得しようとしています</p> <p>
- 9. PHPは特殊文字「&」を、私は文字<code>&</code></p> <p>と私は<code>&</code>を含む<code>$_POST</code>から同じ文字列を持っているを含む文字列を持っている
- 10. PLSQLは、私が</p> <pre><code>'"sadf asd " <[email protected]>' '"[email protected] " <[email protected]>' </code></pre> <p>を次のように入力文字列を持って引ける文字列から
- 11. のpython:私のような文字列からオブジェを取得しようと</p> <pre><code>exec("mydict_%=%" % (key, value)) </code></pre> <p>::私はリストからdynamiquly辞書を作成している文字列
- 12. スプリットハイブエディタ内の区切り文字に基づいて、列<code>india</code>に<code>'|'</code>と<code>korea</code></p> <p>に基づいて<code>'india|koria'</code>のような文字列を分割するクエリを作成する方法
- 13. Entity Frameworkのは <p></p>エラーは、文字列
- 14. 作成方法同じ文字からなる長さの文字列を複数回繰り返しますか?私は、文字<code>A</code>の<code>n</code>インスタンスで構成されます<code>String s</code>をしたい場合は
- 15. C++文字列オブジェクトの表示/印刷方法は? cout << int works、cout << string not
- 16. </em><strong>と</strong><em>文字列(既に存在)</strong><em>番号</em> exept与えられた文字列から<strong>のすべてを削除するには、このコードを変更する方法にpreg_replace
- 17. 追加の「<」(<)文字3.2
- 18. 文字列から接尾辞を削除するには?それは接尾ことを含んでいる場合、一部の文字列から</p> <ol> <li>PX</li> <li>%</li> <li>EM</li> </ol> <p>:
- 19. Perlの文字列の乗算がundefで警告しないのはなぜですか?</p> <pre><code>$foo . '' </code></pre> <p>と</p> <pre><code>"$foo" </code></pre> <p>
- 20. <strong><em>のMySQL</em></strong></p> <p>コードは以下のとおりであるに取り組んでいない
- 21. 値が<select><option>文字列として戻る
- 22. 試合</p> <pre><code>"foo.exe" "foo.dmg" "baz.exe" "this-is-another-file-name.exe" ... </code></pre> <p>何Javaの正規表現の特定の文字列<code>"baz.exe"</code></p> <p>おかげ以外<code>".exe"</code>で終わるすべての文字列にマッチします以下のリストから特定のファイル名の正規表現
- 23. のArrayList <HashMapの<文字列、文字列>>へのString []
- 24. スカラ:</p> <pre><code>val s = """<body> <p>This is a test</p> <p>This is a test 2</p> </body""" </code></pre> <p>ここでの問題はとき、次のとおりです、改行を交換して、タブ文字列
- 25. するpreg_match():するpreg_match():: '^' は次のコードで</strong></p> <p>が見つかりません終了区切り文字ホストはPHPのバージョン</p> <p><strong>警告を更新する際ませ終了delimite
- 26. ReSharperが文字列補間で奇妙なフォーマットを提供するのはなぜですか?となり</p> <pre><code>$" whatever = {somethingelse}" </code></pre> <p>:</p> <pre><code>$" whatever={ somethingelse }" </code></pre> <p>これはオプションの任意のアイデア
- 27. 文字列の比較は "1" <"seven"
- 28. 解析HTTP User-Agent文字列確実</p> <ol> <li>ブラウザ</li> <li>ブラウザのバージョン</li> <li>OS</li> </ol> <p>それともを検出するために、PythonでのUser-Agent文字列を解析するための最良の方法は何
- 29. 正規表現は:私は色のattributをキャプチャすることができます<code>color="(.*?)"</code>で<code>color="*"</code></p> <p>の周りのすべてをキャプチャする必要がある文字列
- 30. たJavaのジェネリックペア<文字列、文字列>適切
括弧を削除するか、「ランダム」文字列の最初の2文字と最後の2文字を削除しますか? (実際にランダム?) – iamnotmaynard
"((String1))" [2 ... -2]#=> "String1" – iamnotmaynard
http://www.ruby-doc.org/core-1.9.3/String.html – iamnotmaynard