- ベストアンサー
文字列の置換の仕方について
- 文字列の置換方法を知りたいです。特定のパターンに一致する文字列を他の文字列で置き換えたい場合、どのようにすればいいでしょうか?例えば、<code>$strString</code>という変数の中の特定の文字列を<code>$word</code>という文字列で置き換えたい場合、どのようにコードを書けばいいですか?
- <code>$strString</code>という変数の中の文字列を置換する際に、<code>$strReplace</code>というパターンを使用します。ただし、常に同じパターンが現れるとは限らない場合があります。例えば、<code><!--s_1--></code>というパターンが常に現れるとは限らず、<code><!--s_2--></code>などの別のパターンも含まれる可能性があります。
- 現在のコードでは、<code>$strReplace</code>と<code>$strString</code>の変数を使用して、<code>fun_replace</code>という関数を呼び出しています。しかし、まだ関数の中身は書かれていません。どのように組めば、指定したパターンの文字列を<code>$word</code>で置き換えることができるでしょうか?
- みんなの回答 (4)
- 専門家の回答
関連するQ&A
- 2つの正規表現の違いは?
次の正規表現を使った置換の違いがよく分かりません。 $strString="abcd<!--s_1-->うほほ<!--e_1-->efg"; echo preg_replace("/<!--s_1-->.*<!--e_1-->/","<!--s_1-->なんと<!--e_1-->",$strString); $strString="abcd<!--s_1-->うほほ<!--e_1-->efg"; echo preg_replace("/<!--s_1-->.*?<!--e_1-->/","<!--s_1-->なんと<!--e_1-->",$strString); .* と .*? なんですが、どういったところで違いがでるのでしょうか?
- 締切済み
- PHP
- 文字列の置換
文字列の置換 たとえば, if(abcd) という文字列があったときに,これを while(abcd){ に置換するにはどうすればいいでしょうか(同じような置換をしたいところが文章中にいくつもあるとします).つまり,文字列の一部をそのままにして置換するということです.いまの場合だと if( → while( はできたとしても, ) → ){ は,文章中に“)”がたくさんある場合は難しいですよね.wordなら,ワイルドカードを使って if(*) とすれば,検索はできるのですが,そのまま置換すると while(*){ となってしまい,*がそのまま残ってしまいます.どうにかできないでしょうか?
- ベストアンサー
- その他MS Office製品
- ヒットする初回のみ置換する方法
あいうえおかきくけこあいうえおあいうえお という文字列があった時、 初回の「あいうえお」のみ空に置換して かきくけこあいうえおあいうえお としたいのですが、str_replace()だと全部置換されてしまいますし、 preg_replace()やmb_ereg_replace()ではうまく置換されません。 対象とする文字列は、実際はHTMLタグやマルチバイトが混じっています。 置換するべき文字列は、全く同様のものが対象文字列内にも必ず含まれています。 preg_replace()やmb_ereg_replace()でも可能なのかもしれませんが、 どうやればいいのか分かりませんでした。 どなたかご教示下さい。
- ベストアンサー
- PHP
- 任意の文字列で囲まれていない任意の文字列を置換するには
任意の文字列で囲まれていない任意の文字列を置換したいです。 たとえば、『 [[ 』と『 ]] 』で囲まれていない『http://hogehoge/』を『<a href="http://hogehoge/">http://hogehoge/</a>』に置き換えるにはどうすればいいのでしょうか。 具体的には下記の【置換前】のテキストを【置換後】のような感じにしたいです。 【置換前】 http://hogehoge/ [[http://hogehoge/]] http://hogehoge/ http://hogehoge/ [[http://hogehoge/]] 【置換後】 <a href="http://hogehoge/">http://hogehoge/</a> [[http://hogehoge/]] <a href="http://hogehoge/">http://hogehoge/</a> <a href="http://hogehoge/">http://hogehoge/</a> [[http://hogehoge/]] preg_replaceかereg_replaceのどちらかで例を挙げてもらえるとありがたいです。ご教示お願いします。
- ベストアンサー
- PHP
- 文字列置換
UNIXのコマンドで文字列の置換を試みています。 今回行いたい置換としては。。。 12年 1986年2月12日 14 などの文字列を NUM年 NUM年NUM月NUM日 NUM などに、連続した数字をひとまとめにNUMに置換したいと考えています。 文字列の置換方法としてsedコマンドがあると聞いてしらべてみたのですが、いまいいち理解することができませんでした。 自分で考えて試してみたコマンドが以下の通りです。 sed -e "s/\([1-9]\{1,2,3,4\}\)/NUM/g" filename が・・・まったく置換はされませんでした。 よろしければお教えください。よろしくお願いいたします。
- 締切済み
- Linux系OS
- emacsで文字列の置換
新しい職場で emacs を使い始めたのですが、文字列の置換をすると動作が変です。 ・abc → DEF という置換をすると、なぜか ・abc → DEFbc となってしまいます。 M-% M-x replace-string のどちらで置換しても同じです。 とても困っています!!どなたかアドバイスを!!!
- 締切済み
- Linux系OS
- 文字列の置換
JAVAであるファイル内の文字列を置換するプログラム(日本語)を作りたいのですが、 ・ ・ String h_s; FileReader h_fr = new FileReader(in_filename); BufferedReader h_br = new BufferedReader(h_fr); while(true){ h_s = h_br.readLine(); if (h_s == null){ break; } ●文字列を置換するプログラム● } ・ ・ ここの●文字列を置換するプログラム●にあたる適当な関数って何かありますか? たとえばperlでいうと↓みたいなものなのですが・・・ s/置換前文字/置換後文字/g よろしくお願いします。
- ベストアンサー
- Java
- 長い文字列の置換を出来るエディタを教えてください。
数式Texのコマンドなんですが、1000文字の文字列を1500文字の文字列に置換しようとしたところ、255バイト以上のデータはきられてしまい、正常に置換できませんでした。 秀丸、Wordのソフトウェアや複数行置換のフリーウェアを探したのですが、正常に置換できませんでした。 このように1000文字を1500文字への置換等、長い文字列を置換できるソフトウェアがあれば教えてください。
- ベストアンサー
- その他(ソフトウェア)
お礼
ありがとうございました。おかげさまで助かりました。 参考URLを拝見して、奥の深さを感じているところです。