โถ ๊ทธ ๋ฐ์ ๋ค๋ฅธ String ๊ด๋ จ ๋ฉ์๋
package string;
public class StringMethod {
public static void main(String[] args) {
int alength, blength;
char achar, bchar;
String mystr1 = new String("Java Powerful");
String mystr2 = new String("Java Programming");
String mystr3 = mystr1 + mystr2;
String mystr4 = "java powerful";
alength = mystr1.length();
blength = mystr2.length();
achar = mystr1.charAt(5);
bchar = mystr2.charAt(10);
System.out.println("mystr1์ ์ ์ฅ๋์ด ์๋ " + mystr1 + "์ ๋ฌธ์์ ๊ธธ์ด๋ " + alength);
System.out.println("mystr2์ ์ ์ฅ๋์ด ์๋ " + mystr2 + "์ ๋ฌธ์์ ๊ธธ์ด๋ " + blength);
System.out.println("mystr1์ 5๋ฒ์งธ ์ธ๋ฑ์ค์ ์๋ ๋ฌธ์๋ " + achar);
System.out.println("mystr2์ 10๋ฒ์งธ ์ธ๋ฑ์ค์ ์๋ ๋ฌธ์๋ " + bchar);
System.out.println("mystr1์ ์ ์ฅ๋ ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ๋ฐ๊ฟ : " + mystr1.toUpperCase()); // ํ๊ธ์ ์๋จ.
System.out.println("mystr2์ ์ ์ฅ๋ ๋ฌธ์ ์ค a๋ฅผ A๋ก ๋ฐ๊ฟ : " + mystr2.replace('a', 'A')); // ๋ฌธ์์ด๋ ๊ฐ๋ฅ
System.out.println("mystr1์ ์ ์ฅ๋ ๋ฌธ์์ด๊ณผ mystr4์ ์ ์ฅ๋ ๋ฌธ์์ด์ ๊ฐ์ ๋น๊ต(๋์๋ฌธ์ ๊ตฌ๋ถ) : " + mystr1.equals(mystr4));
System.out.println("mystr1์ ์ ์ฅ๋ ๋ฌธ์์ด๊ณผ mystr4์ ์ ์ฅ๋ ๋ฌธ์์ด์ ๊ฐ์ ๋น๊ต(๋์๋ฌธ์ ๊ตฌ๋ถ ์ํจ) : " + mystr1.equalsIgnoreCase(mystr4));
System.out.println("concat() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ mystr1์ mystr2 ๋ถ์ด๊ธฐ : " + mystr1.concat(mystr2));
System.out.println("mystr1์ ์ฒซ๊ธ์๋ถํฐ 4๊ธ์ ์ถ๋ ฅ : " + mystr1.substring(0, 3));
System.out.println("mystr1์ 6๋ฒ์งธ ๊ธ์๋ถํฐ ๋๊น์ง ์ถ๋ ฅ (powerful) : " + mystr1.substring(5));
System.out.println("mystr1์ ์ ค ๋จผ์ ๋์ค๋ 'a'์ ์์น : " + mystr1.indexOf('a')); // ๊ธ์ ์์น๊ฐ ์์ผ๋ฉด -1 ๊ฐ์ ๋ฆฌํดํจ.
System.out.println("mystr1์ ์ ค ๋์ค์ ๋์ค๋ 'a'์ ์์น : " + mystr1.lastIndexOf('a'));
System.out.println("mystr1์ 5๋ฒ ๋ฌธ์๋ถํฐ ๋๊น์ง์ ๊ธธ์ด : " + mystr1.substring(4).length());
System.out.println("mystr1์ 5๋ฒ ๋ฌธ์๋ถํฐ ๋๊น์ง์ ๊ธธ์ด trim() ์ฌ์ฉ : " + mystr1.substring(4).trim().length());
}
}
<์คํ ๊ฒฐ๊ณผ>
*String๊ณ์ด - split( ) ๋ฉ์๋
split์ ๋ฌธ์์ด์์ ๋๋๊ณ ์ถ์ ๋ฌธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ํด๋น ๋ฌธ์์ด์ ๋๋ ์ ๋ฐฐ์ด๋ก ๋ฆฌํดํด์ค๋ค.
์ฆ, regex๋ฅผ ๋๊ฒจ์ค์ ํด๋น regex๋ฅผ ์ฌ์ฉํด์ ๋ถ๋ฆฌํ์ฌ String[ ] ํ์ ์ผ๋ก return ํด์ค๋ค.
split( ) ์ ๊ดํธ( ) ์์ชฝ์๋ ์ ๋ ฅํ ์ ์๋ ๋ฌธ์๊ฐ ํ์ ๋์ด ์๋ค. ex) @@, " ", \\ ๋ฑ
JDK 1.4๋ถํฐ ์ฌ์ฉ ๊ฐ๋ฅ.
โ
โ
StringMethod2.java
package string;
public class StringMethod2 {
public static void main(String[] args) {
String str1 = "java programming is powerful";
String arr1[] = str1.split(" "); // " " ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด ๋๋๊ธฐ
System.out.println(str1);
System.out.println("split ๋ฉ์๋ ์ฌ์ฉ : ");
for (int i = 0; i < arr1.length; i++) {
System.out.println("๋ฐฐ์ด[" + i + "] ๋ฒ์งธ ๊ฐ : " + arr1[i]);
}
System.out.println();
String str2 = "2020-06-17";
String arr2[] = str2.split("-"); // "-" ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด ๋๋๊ธฐ
System.out.println(str2);
for (int i = 0; i < arr2.length; i++) {
System.out.println(arr2[i] + "\t");
}
}
}
<์คํ ๊ฒฐ๊ณผ>
โ
*String๊ณ์ด - StringTokenizer ํด๋์ค
๋ฌธ์์ด์ ๋ถํ ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ํด๋์ค
์ด๋ ๊ฒ ๋ถ๋ฆฌ๋ ๊ฐ์ ํ ํฐ(Token)์ด๋ผ๊ณ ํ๋ค. ์ด๋ฐ ๊ธฐ๋ฅ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋๊ฒ์ด StringTokenizer ํด๋์ค๋ค.
์์ฑ์ |
๋ฉ์๋๋ช |
์ค๋ช |
int |
countTokens() |
token๋ ์์์ ์๋ฅผ ๋ฐํํ๋ค. |
boolean |
hasMoreTokens() |
tokenํ ์ ์๋ ์์์ด ์์ ๊ฒฝ์ฐ์ true, ์์ผ๋ฉด false๋ฅผ ๋ฐํํ๋ค. |
String |
nextToken() |
token๋ ์์์ ๋ฐํํ๋ค. |
โ
-๊ณต๋ฐฑ์ผ๋ก ์ถ๋ ฅ
package string;
import java.util.StringTokenizer;
public class StringTokenProg {
public static void main(String[] args) {
StringTokenizer str = new StringTokenizer("2008/02/15", "/");
int count;
count = str.countTokens();
System.out.println("ํผ์ฑํ ๋ฌธ์์ด์ ์๋ ์ด : " + count + "๊ฐ");
while (str.hasMoreTokens()) { // return ๊ฐ : ๋ค์ ํ ํฐ์ด ์์ผ๋ฉด true, ์์ผ๋ฉด false
System.out.println(str.nextToken); // ํ์ฌ ์์น์์ ๊ทธ ๋ค์ ํ ํฐ์ returnํจ
}
// String[] str1;
// str1 = new String[count];
// for (int i = 0; i < count; i++) {
// str1[i] = str.nextToken();
// system.out.println(str1[i]);
}
}
<์คํ ๊ฒฐ๊ณผ>
โ
- /๋ก ์ถ๋ ฅ
package string;
import java.util.StringTokenizer;
public class StringTokenProg {
public static void main(String[] args) {
StringTokenizer str = new StringTokenizer("2008/02/15", "/");
int count;
count = str.countTokens();
System.out.println("ํผ์ฑํ ๋ฌธ์์ด์ ์๋ ์ด : " + count + "๊ฐ");
while (str.hasMoreTokens()) { // return ๊ฐ : ๋ค์ ํ ํฐ์ด ์์ผ๋ฉด true, ์์ผ๋ฉด false
String strToken = str.nextToken();
System.out.println(strToken);
if (strToken.equals("2008")) {
strToken = str.nextToken("2");
System.out.println(strToken);
}
}
}
}
<์คํ ๊ฒฐ๊ณผ>
โ
โ split( ) ๋ฉ์๋์ StringTokenizer ํด๋์ค์ ์ฐจ์ด
split( ) ๋ฉ์๋๋ ์ฌ์ฉ์๊ฐ ์ํ๋ ์๋งํผ์ ๋ถํ ์ด ๊ฐ๋ฅํ๋ค. ๊ณต๋ฐฑ๋ ๋ฌด์ํ์ง์์.
๊ทธ๋ฌ๋ StringTokenizer ํด๋์ค๋ ๊ตฌ๋ถ๋ฌธ์๋ก ๋ถํ ๋๋ ์์น์ ํ์์๋ ๋ถํ ๊ณต๊ฐ์ด ์์ ๊ฒฝ์ฐ์ ์ ๊ฑฐ๋๋ค.
โ
โโ
โ
์ค์ต) ๋ฌธ์์ด์ ์ ๋ ฅํ๋ฉด ๊ฑฐ๊พธ๋ก ์ถ๋ ฅ๋๊ฒ ๋ง๋ค์ด๋ณด๋ผ.
์กฐ๊ฑด) reverse( ) ๋ฉ์๋ ์ฌ์ฉ. |
<๋ด๊ฐ ํ ๊ฒ>
package string;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class StringReverse {
public static void main(String[] args) throws IOException {
BufferedReader inbr = new BufferedReader(new InputStreamReader(System.in));
String a;
System.out.print("๋ฌธ์์ด์ ์
๋ ฅํ์ธ์ : ");
a = inbr.readLine(); // readLine() ์์ฒด๊ฐ String ์ผ๋ก ๋ฐํ.
StringBuffer str = new StringBuffer(a);
str.reverse(); // ๋ฌธ์์ด ๊ฑฐ๊พธ๋ก ์ถ๋ ฅ
System.out.println("์
๋ ฅํ ๋ฌธ์์ด : " + a);
System.out.println("๊ฑฐ๊พธ๋ก ๋ฐ๋ ๋ฌธ์์ด : " + str.toString());
}
}
<์ ์๋์ด ๋ง๋ ๊ฒ>
package string;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class StringReverse_A {
public static void main(String[] args) throws IOException {
System.out.print("๋ฌธ์์ด์ ์
๋ ฅํ์ธ์ : ");
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader inbr = new BufferedReader(isr);
String instr = inbr.readLine();
StringReverse_A sr = new StringReverse_A();
System.out.println("์
๋ ฅํ ๋ฌธ์์ด : " + instr);
System.out.print("๊ฑฐ๊พธ๋ก ๋ฐ๋ ๋ฌธ์์ด : " + sr.reverse(instr));
}
public String reverse(String instr) {
String outStr = "";
for (int i = instr.length() - 1; i >= 0; i--) {
outStr += instr.charAt(i);
}
return outStr;
}
}
<์ ์๋์ด ๋ง๋ ๊ฒ 2>
package string;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class StringReverse_A {
public static void main(String[] args) throws IOException {
System.out.print("๋ฌธ์์ด์ ์
๋ ฅํ์ธ์ : ");
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader inbr = new BufferedReader(isr);
String instr = inbr.readLine();
StringReverse_A sr = new StringReverse_A();
System.out.println("์
๋ ฅํ ๋ฌธ์์ด : " + instr);
System.out.print("๊ฑฐ๊พธ๋ก ๋ฐ๋ ๋ฌธ์์ด : " + sr.reverse(instr));
}
public String reverse(String instr) { // reverse ๋ฉ์๋ ์ง์ ์ ์ธ
String outStr = "";
for (int i = instr.length() - 1; i >= 0; i--) {
outStr += instr.charAt(i);
}
return outStr;
}
public String reverse1(String instr) { // StringBuffer์ ์ฌ์ฉํด reverse ๋ฉ์๋ ์ ์ธ
StringBuffer sb = new StringBuffer(instr);
return sb.reverse().toString();
}
}
'Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java-๊ธฐ์ด] Class ํด๋์ค (0) | 2021.02.21 |
---|---|
[Java-๊ธฐ์ด] Wrapper ํด๋์ค (0) | 2021.02.21 |
[Java-๊ธฐ์ด] String ํด๋์ค (0) | 2021.02.21 |
[Java-๊ธฐ์ด] Object ํด๋์ค (0) | 2021.02.21 |
[Java-๊ธฐ์ด] ์ธํฐํ์ด์ค ์์ (0) | 2021.02.21 |
๋๊ธ