• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:replaceAllの使い方)

replaceAllの使い方

このQ&Aのポイント
  • replaceAllメソッドを使用して文字列の一部を置換する方法について教えてください
  • replaceAllメソッドを使用して文字列の一部を置換する方法がうまくいかない場合の対処法について教えてください
  • 指定した正規表現に一致する文字列を置換する際に注意すべきポイントについて教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • ossu
  • ベストアンサー率100% (1/1)
回答No.1

もし、str2の値が、"00a123"になったのでしたら、 String str2=str.replaceAll("[^0-9]*",""); とやったらうまくいきそうな感じがします。

2008002
質問者

お礼

すみません。まぬけなことしてました。↓ String str = "あ00a123"; str.replaceAll("[^0-9]",""); System.out.println(str); なぜ置換できないかと悩んで半日… 時間の無駄でした…

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Javaの正規表現

    Javaのプログラムで文字列に含まれるスラッシュを 全てバックシュラッシュに置換したくてreplaceAllを使用しています。 しかし、正規表現がよく分からず、エラーとなります。 どう記述すれば良いでしょうか? string.replaceAll("\\/", "\\"); ではエラーとなり、第二引数を\や\\\としてもダメでした。

    • ベストアンサー
    • Java
  • 正規表現で少し複雑な置換がしたい

    Javaというよりも、正規表現について質問です。 (一応、言語はJavaで、String#replaceAllを使います) 以下のルールで与えられた文字列の置換を行う正規表現を考えていますが、なかなかうまくいきません。 1.正規表現で \w+:: にマッチする文字列を削除する。 2.ただし、'' (シングルクォーテーション)で囲われている文字列は   1.の対象としない 3.ただし、\' (シングルクォーテーションの前に\があった場合は)   シングルクォーテーションと認識しない。 例: 置換前  A * B \'' CCC.DD::EEE' FFF.GGG::HH ' III' 置換後  A * B \'' CCC.DD::EEE' FFF.HH 'III' 色々試してみたのですが、どうしてもうまくいきません。 正規表現が得意な方、教えていただけますでしょうか・・?

    • ベストアンサー
    • Java
  • String#replaceALL

    をつかって 「俺は~」を「私は~」 に変えたいのですが、 String str = "俺は天才だ。冗談だ"; str.replaceAll("俺", "私"); System.out.println(str.toString()); ではうまく行きません。 正規表現とかよく知らないので教えてください。

    • ベストアンサー
    • Java
  • タグにはさまれている文字以外を置換したい

    あるマルチバイト文字列に対して、特定の文字を正規表現で置換したいのです。 そのマルチバイト文字列には、htmlの<a>タグが混じっています。(混じっていない場合もあります。) 置換したいのは、<a>タグで囲まれている文字以外の文字なのですが、正規表現としてどのようなパターンにすれば出来るのか悩んでおります。 ------------------------------------------------- //置換前のマルチバイト文字列 "朝一番のコーヒーは<a href="index.html">3時のコーヒーや</a>食後のコーヒーより旨い" //検索・置換対象となる文字列 "コーヒー" //置換を行う文字列 "紅茶" //置換後のマルチバイト文字列 "朝一番の紅茶は<a href="index.html">3時のコーヒーや</a>食後の紅茶より旨い" ------------------------------------------------- ↓こちらを参考にしてみたのですが、ちょっとやりたいことと違うみたいでうまくいきませんでした。 http://www.din.or.jp/~ohzaki/regex.htm#ReplaceOutside ================================================= $string = "朝一番のコーヒーは<a href="index.html">3時のコーヒーや</a>食後のコーヒーより旨い" $pattern = '/((?:\G|>)[^<]*?)コーヒー/'; $result = mb_ereg_replace($pattern, '\1紅茶', $string); echo $result; ================================================= 是非、皆様に力を貸して頂きたく、どうぞ宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 正規表現で置換したい

    ブログのシステムを変更して、 記事中にある内部リンクの書き換えが必要となりました。 現在、記事中に post-001.html post-005.html  ・  ・  ・ post-853.html という文字列があります。 数字は飛び飛びでそれぞれ異なり500個ほどあります。 WordPressのプラグインの「Search Regex」を使って置換をしたいのですが、 正規表現で置換して、 ハイフンをアンダーバーに置換し、お尻の「.html」は削除して post_001 post_005  ・  ・  ・ post_853 としたいのですが、正規表現で置換する場合、 どのようにすればいいのでしょうか。 「post-」を ( ) でくくればいいのでしょうか。 「.html」削除するにはどうすればいいのでしょうか。 Search Regex に Search pattern(置換前の文字列)と Replace pattern (置換後も文字列)を入力する欄があります。 上のような文字列を置換したい場合は、 それぞれどのような記号を入力すればよいのでしょうか。 アドバイスをよろしくお願いいたします。

    • ベストアンサー
    • Perl
  • 正規表現について

    現在下記のように文字列をチェックする正規表現を作成したのですが、 「禁止文字を含まない」と表示されてしまいます。 どこが問題なのか、指摘していただければと思います。 よろしくお願いします ---------------------------------------------------- // チェックする文字列 String str = "abc\"; // 禁止文字 String regex = "\\/:;\\*?'\"<>\\|~\\\\" + "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨワヲンァィゥェォッャュョ゛゜ー、。「」・" + "(1)(2)(3)(4)(5)(6)(7)(8)(10)(11)(12)(13)(14)(15)(16)(17)(18)(19)(20)" + "IIIIIIIVVVIVIIVIIIIXXiiiiiiivvviviiviiiixx" + "ミリキロセンチメートルグラムトンアールヘクタールリットルワットカロリードルセントパーセントミリバールページmmcmkmmgkgccm2" + "〝〟No.K.K.TEL(上)(中)(下)(左)(右)(株)(有)(代)明治大正昭和平成∮∑∟⊿"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(str); // if (m.find()){ out.println("禁止文字を含む"); }else{ out.println("禁止文字を含まない"); }

    • ベストアンサー
    • Java
  • Cの文字列操作

    VC6で正規表現を使って以下のXMLから-23の値を取得するつもりですが、 これを正規表現で書く場合、以下のようにすれば良いでしょうか? <?xmlversion="1.0"encoding="SHIFT_JIS"?> <TEST>-23</TEST> char ptn[] = "^<\?xmlversion="""1.0"""encoding="""SHIFT_JIS"""\?><TEST>(-?[0-9]+?)</TEST>$"; この前に、xmlを文字列置換(タブ・スペース・改行等を空文字に置換)させたいのですが、C言語ではどのようにすれば良いのでしょうか? phpでは、 str_replaceを使いますが・・・ ちなみに正規表現ライブラリは、これを使う予定です。 http://www.sip.eee.yamaguchi-u.ac.jp/kou/regex.html

  • (C#)1バイトの正規表現

    下記のような正規表現による置換をほどこしました。 Buffer=Regex.Replace(Buffer,"^[\x00-\xff]{100}","",RegexOptions.Singleline); 文字列の先頭の100バイトを削除する正規表現ですが、うまく動作しません。 どうも文字コードに問題があるようなのですが、原因のわかる方いらっしゃいますか?

  • 正規表現についてご教示お願いします。

    正規表現についてご教示お願いします。 文字列:111,222,STR1234567END,STR222567END 上記文字列にて "STR1234567END"の部分を取り出したいのですが 正規表現:STR.*END で指定しますと "STR1234567END,STR222567END" と取得されてしまい上手く出来ません。。。 他にもいろいろ試しているのですが "STR1234567END"と取得できません。 どうかご教示頂けたらと思います。 よろしくお願いします。

  • 分からないです(;_;)

    分からないです(;_;) 2 ユーザ関数char *my_strstr(const char *str1, const char *str2)とchar *strrep(char *src, const char *sch, const char *rep)を作成する。以下にユーザ関数の詳細を示す。 ・char *my_strstr(const char *str1, const char *str2) 文字列str1の中に文字列str2が含まれているか検索して、もし含まれているならばその位置をポインタで返し、含まれていないならばNULLを返す。ただし、以下の条件をつける。 ・文字列str2が文字列str1に複数含まれている場合は、str1の先頭から見て最初に現れるstr2を返す ・標準ライブラリ関数strcmp, strstrは使わない ・char *strrep(char *s, const char *sch, const char *rep) ユーザ関数my_strstrを用いて、文字列sの中に文字列schが含まれているか検索して、もし含まれているならばその部分を文字列repで置換し、置換した文字列の次の文字の位置を返す。含まれていないならばNULLを返す。ただし、以下の条件をつける。 ・文字列schが文字列sに複数含まれている場合は、sの先頭から見て最初に現れるschを置換する。 そして、キーボードから「文字列」「検索する文字列」「置換する文字列」を入力し、ユーザ関数strrepを用いて、「文字列」の中に含まれているすべての「検索する文字列」を「置換する文字列」で置換した結果と、「検索する文字列」が含まれていた個数を表示する。 <実行結果> Input a character string :anpanman Input a character string which you want to search :an Input a character string which you want to replace :enki The character string after replace is "enkipenkimenki" count :3 Input a character string :Yamanote-Line Input a character string which you want to search :Yamanote Input a character string which you want to replace :Chuo The character string after replace is "Chuo-Line" count :1 Input a character string :abc123/.@ Input a character string which you want to search :def Input a character string which you want to replace :xyz The character string after replace is "abc123/.@" count :0