java string replace
このチュートリアルでは、例を使用して、Java文字列Replace()メソッドとReplaceAll()およびReplaceFirst()メソッドについてすべて説明します。
また、いくつかのシナリオベースの例と、概念を明確にするためのよくある質問についても説明します。
このチュートリアルを完了すると、replace()、replaceFirst()、replaceAll()メソッドについて理解し、文字列処理の問題でこれら2つのメソッドを使用できるようになります。
学習内容:
Java文字列置換
先に進む前に、Java String replace()メソッドには、以下に示す3つの異なるバリアントがあることを知っておく必要があります。
- Java文字列replace()
- Java文字列replaceAll()
- Java文字列replaceFirst()
これらのバリアントはすべて独自の重要性を持っており、文字列操作中の要件に基づいて使用できます。また、これらの各メソッドには独自のバリアントがあり、このチュートリアルの後半で構文と実装の詳細とともに説明されています。
つまり、Java String replace()メソッドを使用して、特定の文字のすべての出現箇所を新しい文字に置き換えます。
アンドロイドのための最高の無料mp3音楽ダウンロードアプリ
Java String replaceAll()メソッドは正規表現に従って機能し、正規表現に基づいて、入力文字列に対して実行する操作のタイプを自由に選択できます。
さらに、Java String replaceFirst()メソッドを使用して、最初に出現する文字を新しい文字に置き換えます。
文字列Replace()メソッド
名前自体が示すように、replace()メソッドは、文字列の特定の文字のすべての出現箇所を新しい文字に置き換えるために使用されます。
Java String Replaceには、以下に示す2つのバリアントがあります。
#1)キャラクターのreplaceメソッド。
文字置換の構文:
String replace(char originalChar, char replacingChar)
#2)文字シーケンスのreplaceメソッド。
文字シーケンス置換の構文:
String replace(CharSequence original, CharSequence replacing)
文字の置き換え
以下で 例 、String変数を初期化します。次に、文字列の特定の文字を新しい文字に置き換えます。
public class replace { public static void main(String() args) { // Initialized a String String str = 'CAT'; // Replaced the character 'C' with 'R' String replace = str.replace('C', 'R'); // Printed the Original String System.out.println('The Original String was: ' + str); // Printed the Final String after replace() operation System.out.println('The Final String is: ' + replace); } }
出力:
文字シーケンスの置き換え
これで 例 、Java String replace()メソッドの他の形式について説明します。
構文:
String replace(CharSequence original, CharSequence replacing)
この形式のJavaString replace()メソッドは、1つの文字シーケンスを別の文字シーケンスに置き換えます。以下の例では、String変数を初期化してから、charシーケンスを他のシーケンスに置き換えます。
以下の例を見てみましょう。
public class replace { public static void main(String() args) { // Initialized a String String str = 'Shooting'; // Replaced the character sequence 'oot' with 'out' String replace = str.replace('oot', 'out'); // Printed the Original String System.out.println('The Original String was: ' +str); // Printed the Final String after replace() char sequence operation System.out.println('The Final String is: ' +replace); } }
出力:
文字列ReplaceAll()メソッド
このメソッドは、出力として新しい文字列を返します。この新しい文字列は、正規表現で提供する正規表現の結果に基づいています。
ReplaceAllの構文:
String replaceAll(String regex, String output)
すべての文字を置き換える
これで 例 、replaceAll()が正規表現でどのように機能するかを見ていきます。このプログラムでは、正規表現を使用したreplaceAll()メソッドを使用して、文字間のすべての空白を記号「%」に置き換えます。
public class replaceAll { public static void main(String() args) { // Initialized a String String str = 'This is a Testing Website'; /* * Replacing all the whitespaces between * characters with the '%' */ String replaceAll = str.replaceAll('\s+', '%'); // Printed the Original String System.out.println('Before ReplaceAll() ' + str); // Printed the Final String after replaceAll() operation System.out.println('After ReplaceAll(): ' + replaceAll); } }
出力:
文字列ReplaceFirst()メソッド
replace()とreplaceAll()とは別に、任意の文字列の最初に出現する文字を置き換えるために使用されるreplaceFirst()メソッドと呼ばれる別のメソッドがあります。
このメソッドは、最初の文字が新しい文字に置き換えられた新しい文字列を返します。詳細については、構文を調べてみましょう。
ReplaceFirstの構文:
String replaceFirst(char oldFirstChar, char newFirstChar)
最初の文字を置き換える
このプログラムでは、入力文字列を取得し、replaceFirst()メソッドを使用して最初に出現する文字を新しい文字に置き換えようとしました。
replaceFirst()メソッド内で、古い最初の文字と新しい最初の文字を渡しました。返される文字列は、古い最初の文字を新しい最初の文字に置き換えます。
Javaでdoubleはどういう意味ですか
public class ReplaceFirst { public static void main(String() args) { String str = 'PPPPP'; System.out.println(str); // Replaced the first occurrence of 'P' with 'Q' String replaceFirst = str.replaceFirst('P', 'Q'); System.out.println(replaceFirst); } }
出力:
シナリオ
シナリオ1:シナリオ1: JavaのreplaceAll()メソッドを使用して部分文字列を置き換える。
説明: このシナリオでは、メイン文字列の部分文字列を新しい部分文字列に置き換えます。
このプログラムでは、ワイルドカード文字「*」とそれに続く文字列「Fred」を使用しました。フレッドが出現するたびに、新しい文字列「テッド」に置き換えられます。ご存知のとおり、ワイルドカード文字は、他の文字を表すために使用できる特殊文字です。
ここでは、「Fred *」を使用しました。つまり、「Fred」、「Fredd」、「Fredx」、「Fredy」などが出現するたびに、それぞれが新しい文字列「Ted」に置き換えられます。また、「Freddy」(以下のプログラムの入力文字列の部分文字列)を「Tedy」に置き換えます。
public class replaceAll { public static void main(String() args) { // Initialized a String String str = 'Fred Freddy Franklin Michael Trevor Fredy'; // Replacing the names that start with Fred with the Ted String replaceAll = str.replaceAll('Fred*', 'Ted'); // Printed the Original String System.out.println('Before ReplaceAll() ' + str); // Printed the Final String after replaceAll() operation System.out.println('After ReplaceAll(): ' + replaceAll); } }
出力:
シナリオ2:シナリオ2: 文字シーケンスで始まる文字列を新しい文字列に置き換える。
説明: ここでは、特定の文字シーケンスで始まる文字列を新しい文字列に置き換えます。 (上記のシナリオと同じ)入力文字列を使用してから、replaceAllを使用して正規表現操作を実行しました。
public class replaceAll { public static void main(String() args) { // Initialized a String String str = 'Fred Freddy Franklin Michael Trevor Fredy'; // Replacing the entire String that starts with Fred with the Ted String replaceAll = str.replaceAll('Fred.*', 'Ted'); // Printed the Original String System.out.println('Before ReplaceAll() ' + str); // Printed the Final String after replaceAll() operation System.out.println('After ReplaceAll(): ' + replaceAll); } }
出力:
よくある質問
Q#1)replace()とreplaceAll()を使用して文字を変更するにはどうすればよいですか?
回答: 文字の変更は、replace()メソッドとreplaceAll()メソッドの両方でうまく機能します。詳細については、次のプログラムを調べてみましょう。
public class replaceAndReplaceAll { public static void main(String() args) { // Initialized a String variable String str = 'CUT'; // Replaced 'C' with 'P' using replace() method String replace = str.replace('C', 'P'); // Replaced 'C' with 'P' using replaceAll() method String replaceAll = str.replaceAll('C', 'P'); // Printed Original String System.out.println('Original String: ' +str); // Printed the output of replace() method System.out.println('Replace String: ' +replace); // Printed the output of replaceAll() method System.out.println('ReplaceAll String: ' +replaceAll); } }
出力:
Q#2) replace()メソッドを使用せずにJavaで文字列の文字を置き換える方法は?
回答: 以下のプログラムでは、replace()メソッドを使用してindex = 2で発生する文字を置き換えていません。
public class withoutReplace { public static void main(String() args) { String str = 'This'; // Printed Original String System.out.println(str); // Replacing character at position 2 which is 'i' String replaced = str.substring(0, 2) + 'u' + str.substring(2 + 1); // Printed Replaced String System.out.println(replaced); } }
出力:
Q#3) Javaで最後に出現した文字列を置き換える方法は?
回答: このプログラムでは、replaceAll()メソッドで正規表現を使用して、最後に出現した文字列を置き換えました。
public class replaceAll { public static void main(String() args) { // Initialized a String variable String str = 'Tony Stark John Jon StarkTony'; /* * '$' means the last element of the matching pattern. * So we have replaced the last occurrence of 'Tony' with * 'Trevor' using regex = 'Tony$' */ String replaceAll = str.replaceAll('Tony$', 'Trevor'); // Printed the original element System.out.println(str); // Printed the replaced element System.out.println(replaceAll); } }
出力:
Q#4) Javaで文字列値を変更するにはどうすればよいですか?
回答: 文字列の値を変更できるJava文字列メソッドはたくさんあります。
replace()メソッドを見てみましょう。
public class replace { public static void main(String() args) { String str = '1000'; System.out.println(str); // Changing the value of the Original String String changed = str.replace('000', '111'); System.out.println(changed); } }
出力:
Q#5) ワイルドカード文字とは何ですか?説明する。
回答: ワイルドカード文字は、他の文字を表すために使用される特殊文字です。ワイルドカード文字を定義したインデックスでは、任意の文字を使用できます。一般的なワイルドカード文字には、「*」、「?」などがあります。
例を見てみましょう 文字列「eat *」の。ここでは、ワイルドカード文字「*」が最後のインデックスにあります。つまり、文字列は常に「食べる」で始まりますが、終了文字は自由に選択できます。
したがって、入力文字列を「eat *」として検索しようとすると、検索結果は「eat」、「eaten」、「eatable」、「eating」などになります。
結論
このチュートリアルでは、Java String replace()メソッドとreplaceAll()メソッドについて詳しく説明しました。これらの2つのメソッドとは別に、replaceFirst()メソッドについても学びました。
このチュートリアルには、これら3つの方法のそれぞれについて詳しく説明するために、十分なプログラミング例が含まれています。 replaceAll()メソッドの一部として、正規表現の例も提供されています。
このチュートリアルに含まれているシナリオベースのよくある質問が、Java文字列置換に関する優れた洞察を与えてくれることを願っています。
=> ゼロからJavaを学ぶには、ここにアクセスしてください。