|
Webプログラミングでは、文字列の置換は必ずと言っていいほど使用します。 それぞれの言語で書き方が違いますので、きちんと整理しておきましょう。 |
|
|
s///演算子を使用します。
$str = "ABAABBAAABBBAAAABBBB";
Perlの置換は「s///」を使用します。 gオプションを付加することにより、パターンマッチしたすべての文字列が置換対象となります。gオプションを付加しなかった場合は最初にパターンマッチした文字列のみが置換されます。print "置換前:" . $str . "\n"; $str =~ s/B+/C/g; print "置換後:" . $str . "\n";
置換前:ABAABBAAABBBAAAABBBB
置換後:ACAACAAACAAAAC |
|
|
preg_replace()関数を使用します。
<?php
preg_replace()関数は、パターンマッチした全ての文字列を置換します。$str = "ABAABBAAABBBAAAABBBB"; echo "置換前:" . $str . "\n"; $str = preg_replace("/B+/", "C", $str); echo "置換後:" . $str . "\n"; ?>
置換前:ABAABBAAABBBAAAABBBB
置換後:ACAACAAACAAAAC 正規表現を使用する必要がない場合は、str_replace()関数を使用した方が処理が高速です。
<?php
$str = "AAABBBCCCDDDEEE"; echo "置換前:" . $str . "\n"; $str = str_replace("CCC", "ZZZ", $str); echo "置換後:" . $str . "\n"; ?>
置換前:AAABBBCCCDDDEEE
置換後:AAABBBZZZDDDEEE |
|
|
「java.util.regex.Matcher」パッケージと「java.uti.regex.Pattern」パッケージのメソッドを使用します。
import java.util.regex.Matcher;
import java.util.regex.Pattern; public class RegexReplace { public static void main(String[] args) { String str = "ABAABBAAABBBAAAABBBB"; System.out.println("置換前:" + str); //置換前の文字列の出力 Pattern p = Pattern.compile("B+"); //正規表現のコンパイル Matcher m = p.matcher(str); //正規表現エンジンの生成 str = m.replaceAll("C"); //置換処理 System.out.println("置換後:" + str); //置換後の文字列の出力 } }
置換前:ABAABBAAABBBAAAABBBB
置換後:ACAACAAACAAAAC |
|
|
| ご意見箱コーナー (管理者宛てメール) |
|
このページは、あなたの参考になりましたか? |