私の現在の正規表現バトルは、文字列内の数字の前にあるすべてのコンマを置き換えています。正規表現では、その後に続くすべてのカンマを無視する必要があります。私は約1時間ルビラールの周りにねじ回してきたとはかなり動作するように見えることはできません。rubyでルックアヘッドを使用した正規表現
テスト文字列...
'this is, a , sentence33 Here, is another.'
所望の出力...
'this is comma a comma sentence33 Here, is another.'
だから、あなたにいくつかの背景を与えること
testString.gsub(/\,*\d\d/,"comma")
...の線に沿って何か、私は少し掻き分けサイドプロジェクトをやっている。私が集めている要素は、大体2桁の年齢で始まるカンマ区切りです。しかし、時には、コンマを含む可能性のある年齢より前の見出しがあります。私が後で設定した構造を維持するために、見出しのカンマを置き換える必要があります。
...
をスタックオーバーフローの答えを試した後、私はまだいくつかの問題を抱えています。私のコンマフィルタリングはすべてのケースで動作するように、これらの、「X-X」笑うが、ここで問題を引き起こしてthatsのをこする画面から実際のラインです...
statsString = " 23, 5'9\", 140lb, 29w, Slim, Brown Hair, Shaved Body, White, Looking for Friendship, 1-on-1 Sex, Relationship. Out Yes,SmokeNo,DrinkNo,DrugsNo,ZodiacCancer. Versatile, 7.5\" Cut, Safe Sex Only, HIV Negative, Prefer meeting at:Public Place. PerformerContact xxxxxx87 This user has TURNED OFF his IM Send Smile Write xxxxxx87 a message:"
私は追加これらの断片の全てにまずしないでくださいテキストの有無にかかわらず、実際の修正が続いています。出力は...以下の未
statsString = 'xx, ' + statsString
statsString = statsString.gsub(/\,(?=.*\d)/, 'comma');
=> "xxcomma 23comma 5'9\"comma 140lbcomma 29wcomma Slimcomma Brown Haircomma Shaved Bodycomma Whitecomma Looking for Friendshipcomma 1-on-1 Sexcomma Relationship. Out YescommaSmokeNocommaDrinkNocommaDrugsNocommaZodiacCancer. Versatilecomma 7.5\" Cutcomma Safe Sex Onlycomma HIV Negativecomma Prefer meeting at:Public Place. PerformerContact xxxxx87 This user has TURNED OFF his IM Send Smile Write xxxxxxx87 a message:"
なぜHere'を交換 'の後にコンマではないでしょうか? 'ここは大文字で始まるから?要件についてもう少し詳しく説明する必要があります。そして、おそらく、入力と希望出力の例がいくつかあります。あなたは「数字の前にコンマを置き換える」と言っていますが、それはあなたの例がやっていることではありません。 – alan
これを1つの正規表現で行うのは失敗のようです。これは解決しなければならない宿題の問題か、単に問題を解決しようとしていて、正規表現がそれを解決する最善の方法だと思ってしまったのですか? – sarnold
質問に背景情報を追加しました。フィードバックをお寄せいただきありがとうございます。 –