- 締切済み
◆文字列内の複数置換
- みんなの回答 (1)
- 専門家の回答
みんなの回答
何を期待しているのかよくわかりませんが、愚直にfor文とかで$patternsからキーと値を取得して、str_replace関数で置換という方法はダメなのでしょうか?
関連するQ&A
- Excel置換関数を用いて複数の文字列を置換したい
上手く置換ができずに困っています。よろしくお願いします。 文字を入力した列の隣に、数値化する列を作成しようと思っています。 置換項目を6つ設定しようと思っているのですが、 A=4 B=3 C=2 D=1 E=0 F=0 の条件です。 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"A","4"),"B","3"),"C","2"),"D","1"),"E","0"),"F","0") これではできませんでした...。 どなたか、わかる方がいらっしゃいましたら、ご教授願います。
- 締切済み
- その他(Windows)
- 文字列になっている配列を‥
以下の値がDBに文字列の項目に登録されています。 DB から値を取得したのはいいのですが文字列なので foreach でグルグルしようとすると怒られてしまいます。 配列の型に変換できればいいのですが(array)だとうまく行かないしどうすればいいかどなたかご教授願えないでしょうか。 よろしくお願いします。 ■値(文字列でDBに格納されてます‥) array( 1=>'a', 2=>'b', 3=>'c', 10=>array( 'A'=>1, 'B'=>'hoge1', ), 11=>array( 'A'=>2, 'B'=>'hoge2', ), 12=>array( 'A'=>3, 'B'=>'hoge3', ), )
- 締切済み
- PHP
- 配列に格納した文字列の置換
Perlで、配列@arrayの要素それぞれを文字列$strから見つけてタグで囲みたいと思っています。 $str = 'abc+fghoge(ij'; @array = ('+', '(', '?', '//', 'hoge'); $pattern = '\Q' . join '\E|\Q', @array . '\E'; $str =~ s/($pattern)/<TAG>$1<\/TAG>/g; @arrayの要素には、メタキャラクタが含まれる可能性があるため、\Qと\Eで挟む必要があるかと思うのですが、上のようにしてもうまくいきません。下だとうまく置換されるので、\Qや\Eの使い方は間違っていないと思うのですが、どなたかアドバイスいただけないでしょうか。 $str =~ s/(\Q+\E|\Q(\E|\Q?\E|\Q//\E|\Qhoge\E)/<TAG>$1<\/TAG>/g; よろしくお願いします。
- ベストアンサー
- Perl
- エクセル 複数の置換
おはようございます。たとえば、以下の画像のようにアルファベットが並んでいたとします。そのうち、AとBとCの3つをFに置換したいとすればどのようにすればいいのでしょうか。検索と選択→置換→検索する文字列→A→置換後の文字列→F これを同じようにBもCもすればできますが、大量の検索する文字がある場合、一つ一つ打っていくのがたいへんなのですが何かいい方法はありますか。ご回答よろしくお願いします。
- 締切済み
- Excel(エクセル)
- 文字列の置換で・・・
Javaでの文字列の置換についてなんですが ある文字を任意の文字に置換し表示させるとともに 何個の文字を置換したかも同時に知らせたい場合は どのような処理をしたらよいでしょうか? ぜひご協力よろしくお願いします!! (例)入力した文字列に"a"が含まれる場合は"b"に置換し その際に変換した文字数も表示してください。 basic→出力結果: "bbsic" 置換した文字数は1です。
- ベストアンサー
- Java
- Javascriptでの正しい文字置換方法
Javascriptのサンプルなどで置換処理は A→Bの置換を行う場合 文字列をAで配列に分割してそれをB区切りに連結するという方法を使っているのを見かけるのですが納得いきません。 Perlで書いた場合、こんな感じの処理ですね。 $str = join("B",split(/A/, $str)); もう少し正直に $str =~ s/A/B/g; に該当するような正しい記述は無いものでしょうか?
- ベストアンサー
- JavaScript
- PHP:2つの置換文字列を一気に変換するには
PHPで1つの文字列変数内に2つの置換文字列が存在する場合一気に変更可能でしょうか? $data = "a%CHANGE1%c%CHANGE2%"; 置換文字列1:%CHANGE1% ⇒ "b"に変換 置換文字列2:%CHANGE2% ⇒ "d"に変換 ↓すると print($data); 「abcd」 となる感じです。 よろしくお願いいたします。
- ベストアンサー
- PHP
- replace()での文字列置換について
お世話になります。 replace()で文字列置換をするとき、 sentAry=new Array("aabb()c()bbc","・・・", sent=sentAry[0]; で、 sent=sent.replace("()","( )") と、すると、 sent="aabb( )c()bbc;" と、なることを期待したのですが、 sent="aabb( )c( )bbc;" と、なってしまいました。 つまり全ての()が( )に変換されてしまいました。 マッチングした全ての文字列か、マッチングした最初の一つだけか が、グローバル検索のg属性と、いうものにより異なるというような記載を見つけましたが、 だからと、いってどのようにすればよいのか 一向にわかりません。 どなたか、わかる方見えましたら、よろしくご教示お願いします。
- ベストアンサー
- JavaScript
補足
foreach ($patterns as $key => $val) { $result = ereg_replace($key1, $val, $str); } こんな感じでできました。。 お騒がせいたしました。