CodeGym /Java Blog /๋ฌด์ž‘์œ„์˜ /Java String replace() ๋ฉ”์†Œ๋“œ
John Squirrels
๋ ˆ๋ฒจ 41
San Francisco

Java String replace() ๋ฉ”์†Œ๋“œ

๋ฌด์ž‘์œ„์˜ ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค

Java์—์„œ String ํด๋ž˜์Šค์˜ ์ผ๋ฐ˜์ ์ธ replace() ๋ฉ”์„œ๋“œ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

String ํด๋ž˜์Šค๋Š” Java์—์„œ ๋„ค ๊ฐ€์ง€ ์ข…๋ฅ˜์˜ replace () ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ฐฉ๋ฒ•์€ ํŠน์ • ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๊ทธ๋“ค์˜ ์ด๋ฆ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
  1. ๋ฐ”๊พธ๊ธฐ(๋ฌธ์ž, ๋ฌธ์ž)
  2. ๊ต์ฒด(๋ฌธ์ž์—ด, ๋ฌธ์ž์—ด)
  3. replaceAll(๋ฌธ์ž์—ด, ๋ฌธ์ž์—ด)
  4. replaceFirst(๋ฌธ์ž์—ด, ๋ฌธ์ž์—ด)
๊ฒŒ์‹œ๋ฌผ์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๊ฐ ๋ฐฉ๋ฒ•์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ ์œ„์˜ ์‚ฌ์šฉ ํ•„์š”์„ฑ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Java String replace() ๋ฉ”์†Œ๋“œ

Java String replace() ๋ฉ”์„œ๋“œ๋Š” ์ง€์ •๋œ ๋ฌธ์ž๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋œ ์ง€์ •๋œ ๋ฌธ์ž๋กœ ๋ฐ”๊พธ๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ๋ฌธ์ž์—ด ์˜ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ์„ ํƒํ•œ ๋‹ค๋ฅธ ๋ฌธ์ž๋กœ ๋ฐ”๊พธ๋Š” ๋ฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค .

๋ฉ”์†Œ๋“œ ํ—ค๋”


public String replace(char oldCharacter, char newCharacter)

๋ฐฉ๋ฒ• ๋งค๊ฐœ๋ณ€์ˆ˜

์ด ๋ฉ”์†Œ๋“œ๋Š” ๋‘ ๊ฐœ์˜ 'char' ์œ ํ˜• ๋งค๊ฐœ๋ณ€์ˆ˜ ๋˜๋Š” ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • char oldCharacter๋Š” ๋Œ€์ฒดํ•  ๋ฌธ์ž๋ฅผ ๋ณด์œ ํ•ฉ๋‹ˆ๋‹ค.

  • char newCharacter๋Š” oldCharacter ๋Œ€์‹  ์‚ฌ์šฉ๋  ๋ฌธ์ž๋ฅผ ๋ณด์œ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜ ์œ ํ˜•

String replace ๋ฉ”์„œ๋“œ๋Š” ์›ํ•˜๋Š” ๋ฌธ์ž๋ฅผ ๋ฐ”๊พผ ํ›„ ์—…๋ฐ์ดํŠธ๋œ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ

์ด ๋ฐฉ๋ฒ•์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๊ฐ„๋‹จํ•œ ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

public class Driver {

	public static void main(String[] args) {

	      String myString = "An apple a day, keeps the doctor away!";
		System.out.println("Original Sentence: \t\t\t" + myString);

		// Example 1 using String replace(char, char)
		char oldCharacter = 'a'; // replacing character
		char newCharacter = 'A'; // character to be replaced
            String updatedString = myString.replace(oldCharacter, newCharacter);    
		System.out.println("After replacing '" + oldCharacter + "' with '" + 
		// 'a' is replaced and not with 'A' as the method is case sensitive
		newCharacter + "': \t\t" + updatedString);
		
		// Example 2 using String replace(String, String)
		String oldString = "apple";
		String newString = "orange";
		// using the method String replace		
            String updatedString1 = myString.replace(oldString, newString); 
            System.out.println("Replacing '" + oldString + "' with '" + 
        		newString + "': \t" + updatedString1 + "\n");
	}
}

์‚ฐ์ถœ

์›๋ž˜ ๋ฌธ์žฅ: ํ•˜๋ฃจ์— ์‚ฌ๊ณผ ํ•œ ๊ฐœ, ์˜์‚ฌ๋ฅผ ๋ฉ€๋ฆฌํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค! 'a'๋ฅผ 'A'๋กœ ๋ฐ”๊พผ ํ›„: Apple A day, ์˜์‚ฌ๋ฅผ ๋ฐฉํ•ดํ•ฉ๋‹ˆ๋‹ค! '์‚ฌ๊ณผ'๋ฅผ '์˜ค๋ Œ์ง€'๋กœ ๋ฐ”๊พธ๊ธฐ: ํ•˜๋ฃจ์— ์˜ค๋ Œ์ง€ ํ•œ ๊ฐœ, ์˜์‚ฌ๋ฅผ ๋ฉ€๋ฆฌํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค!
์ฐธ๊ณ : ๊ณ„์† ์ง„ํ–‰ํ•˜๊ธฐ ์ „์— ์ •๊ทœ์‹ (์ผ๋ช… regex) ์— ์ต์ˆ™ํ•ด์ง€๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค .

Java String replaceAll() ๋ฉ”์†Œ๋“œ

Java String replaceAll() ๋ฉ”์„œ๋“œ๋Š” ๋งค๊ฐœ ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋œ ์ •๊ทœ์‹์˜ ๋ชจ๋“  ๋‹จ์ผ ํ•ญ๋ชฉ์„ ์›ํ•˜๋Š” String ์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค . ์ด๋Š” ์ •๊ทœ์‹์˜ ๋ชจ๋“  ๋ณต์‚ฌ๋ณธ์ด ๋Œ€์ฒด ๋ฌธ์ž์—ด์— ์˜ํ•ด ์—…๋ฐ์ดํŠธ๋จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”์†Œ๋“œ ํ—ค๋”


public String replaceAll(String regularExpression, String replacementStr)

๋ฐฉ๋ฒ• ๋งค๊ฐœ๋ณ€์ˆ˜

์ด ๋ฉ”์„œ๋“œ๋Š” ๋‘ ๊ฐœ์˜ '๋ฌธ์ž์—ด' ํ˜•์‹ ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฌธ์ž์—ด regularExpression์€ ๋Œ€์ฒดํ•  ์ •๊ทœ์‹(ํŒจํ„ด)์„ ๋ณด์œ ํ•ฉ๋‹ˆ๋‹ค.

  • String replacementStr ์€ ์ •๊ทœ์‹ ๋Œ€์‹  ์‚ฌ์šฉํ•  ๋ฌธ์ž์—ด ์ž…๋‹ˆ๋‹ค .

๋ฐ˜ํ™˜ ์œ ํ˜•

์ด ๋ฉ”์„œ๋“œ๋Š” ์ •๊ทœ์‹์˜ ๋ชจ๋“  ํ•ญ๋ชฉ์„ ๋ฐ”๊พผ ํ›„ ์ƒˆ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ

์ด ๋ฐฉ๋ฒ•์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ๋ ˆ์ฝ”๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋” ๊นŠ์€ ์ดํ•ด๋ฅผ ์œ„ํ•ด replaceAll() ๋ฉ”์„œ๋“œ ์˜ ๋‹ค์–‘ํ•œ ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค .

public class Driver1 {

	public static void main(String[] args) {

		String myString = "Mastering a programming language begins with great logic building!";
		System.out.println("Original Sentence: \t\t\t" + myString);

		String regex = "[\sa]"; // This regex is used to remove all spaces and a(s) in the string
		String replacementStr = "";
		// using the method String replaceAll(); to remove ALL spaces
		System.out.println("After replacing \"" + regex + "\" with \"" + replacementStr + "\": \t"
				+ myString.replaceAll(regex, replacementStr) + "\n");
	}
}

์‚ฐ์ถœ

์›๋ž˜ ๋ฌธ์žฅ: ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋งˆ์Šคํ„ฐํ•˜๋Š” ๊ฒƒ์€ ํ›Œ๋ฅญํ•œ ๋…ผ๋ฆฌ ๊ตฌ์ถ•์—์„œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค! "[ a]"๋ฅผ ""๋กœ ๋ฐ”๊พผ ํ›„: Msteringprogrmminglngugebeginswithgretlogicbuilding!

Java String replaceFirst() ๋ฉ”์†Œ๋“œ

Java String replaceFirst() ๋ฉ”์†Œ๋“œ๋Š” ์ด ๋ฉ”์†Œ๋“œ์— ์ „๋‹ฌ๋œ ์ •๊ทœ์‹์˜ ์ฒซ ๋ฒˆ์งธ ํ•ญ๋ชฉ๋งŒ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”์†Œ๋“œ ํ—ค๋”


public String replaceFirst(String regularExpression, String replacementStr)

๋ฐฉ๋ฒ• ๋งค๊ฐœ๋ณ€์ˆ˜

์ด ๋ฉ”์„œ๋“œ๋Š” ๋‘ ๊ฐœ์˜ '๋ฌธ์ž์—ด' ํ˜•์‹ ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฌธ์ž์—ด regularExpression์€ ๋Œ€์ฒดํ•  ์ •๊ทœ์‹(ํŒจํ„ด)์„ ๋ณด์œ ํ•ฉ๋‹ˆ๋‹ค.

  • String replacementStr ์€ ์ •๊ทœ์‹ ๋Œ€์‹  ์‚ฌ์šฉํ•  ๋ฌธ์ž์—ด ์ž…๋‹ˆ๋‹ค .

๋ฐ˜ํ™˜ ์œ ํ˜•

์ด ๋ฉ”์„œ๋“œ๋Š” ์ •๊ทœ์‹์˜ ์ฒซ ๋ฒˆ์งธ ํ•ญ๋ชฉ๋งŒ ๋ฐ”๊พผ ํ›„ ์ƒˆ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ

์ด ๋ฐฉ๋ฒ•์€ ์ผ์น˜ํ•˜๋Š” ์ธ์ˆ˜์—์„œ ์ฐพ์€ ์ฒซ ๋ฒˆ์งธ ๋ ˆ์ฝ”๋“œ๋งŒ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ์˜ˆ์—์„œ ์ž‘๋™ ๋ฐฉ์‹์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

public class Driver2 {
	
	public static void main(String[] args) {

		String myString = "Good Morning. You wonders of Nature. Today is a great day to be happy.";
		System.out.println("Original Sentence: \t\t" + myString);

		String regex = "\\."; // regex to update period / full stop
		String replacementStr = "!";
		// using the method String replaceFirst();
		// to remove first period(.) with exclamation(!) mark
		System.out.println("After replacing '" + regex + "' with '" + replacementStr + "': \t"
				+ myString.replaceFirst(regex, replacementStr));
	}
}

์‚ฐ์ถœ

์›๋ž˜ ๋ฌธ์žฅ: ์ข‹์€ ์•„์นจ์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์ž์—ฐ์˜ ๊ฒฝ์ด๋กœ์›€. ์˜ค๋Š˜์€ ํ–‰๋ณตํ•˜๊ธฐ ์ข‹์€ ๋‚ ์ž…๋‹ˆ๋‹ค. '\.' ๊ต์ฒด ํ›„ '!' ํฌํ•จ: ์ข‹์€ ์•„์นจ์ž…๋‹ˆ๋‹ค! ๋‹น์‹ ์€ ์ž์—ฐ์˜ ๊ฒฝ์ด๋กœ์›€. ์˜ค๋Š˜์€ ํ–‰๋ณตํ•˜๊ธฐ ์ข‹์€ ๋‚ ์ž…๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

์ง€๊ธˆ๊นŒ์ง€ Java์—์„œ replace() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ณธ ์‚ฌํ•ญ์ด์—ˆ์Šต๋‹ˆ๋‹ค . ํ•ญ์ƒ ๊ทธ๋ ‡๋“ฏ์ด ์‹ค์Šต์„ ํ†ตํ•ด ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์‹œ๊ฐ„๊นŒ์ง€ ๊ณ„์† ๋ฐฐ์šฐ๊ณ  ๊ณ„์† ์„ฑ์žฅํ•˜์„ธ์š”!
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION