들어가기 전에
지난 시간에는 문자열을 표현하는 규칙들에 대해서 살펴 보았습니다.
문자열 데이터를 가지고 어떤 연산을 할 수 있을까요? 자주 쓰는 연산은 어떤 것들이 있을까요?
학습 목표
문자열의 주요 연산들에 대해서 알아봅니다.
핵심 단어
- String
- length 메소드
- replace 메소드
강의 듣기
들어가기 전에
지난 시간에는 문자열을 표현하는 규칙들에 대해서 살펴 보았습니다.
문자열 데이터를 가지고 어떤 연산을 할 수 있을까요? 자주 쓰는 연산은 어떤 것들이 있을까요?
학습 목표
문자열의 주요 연산들에 대해서 알아봅니다.
핵심 단어
강의 듣기
문자열 연산
이번 시간에는 문자열 데이터로 할 수 있는 명령들에 대해서 알아봅니다.
문자열을 처리하는 여러 명령들이 있지만 이번 시간에는 그 중 문자열의 길이를 산출하는 length,
문자열의 특정 문자열을 다른 문자열로 교체하는 replace 명령을 알아봅니다.
Data_and_operation 프로젝트에서 StringOperation 클래스를 생성합니다.
StringOperation.java
public class StringOperation {
public static void main(String[] args) {
System.out.println("Hello World".length()); // 11
System.out.println("Hello, [[[name]]] ... bye. ".replace("[[[name]]]", "duru"));
}
}
length와 replace
length는 지난 시간에서도 잠깐 보았듯이 문자열의 길이를 산출합니다.
replace는 두 개의 인자 oldChar, newChar를 받습니다.
oldChar에는 기존의 문자열에서 바꾸고 싶은 부분을 입력하고 newChar에는 바꾸고자 하는 문자열을 입력합니다.
"Hello, [[[name]]] ... bye. ".replace("[[[name]]]", "duru")
즉 이 경우 기존의 "Hello, [[[name]]] ... bye" 문자열에서 "[[[name]]]" 부분을 "duru" 문자열로 치환합니다.
이렇게 문자열에서는 문자열의 길이를 알아내거나, 문자열의 일부를 조작하는 등의 연산을 수행할 수 있습니다.
생각해보기
1) length와 replace외에 String 데이터에서 처리할 수 있는 명령들을 댓글로 공유해 보세요.
2) 이러한 명령들로 어떤 일을 할 수 있을까요?
참고자료
https://docs.oracle.com
comment
1) indexOf() split()
2) 문자검색, csv파일 세이브로드
1) split() 구분자로 문자열 자르기, indexOf() 해당 문자의 인덱스 값 반환
2) 다양한 사람에게 맞춤형으로 정보를 제공해 줄 때 사용할 수 있다. 병원 진단서 라던지, 단체 문자, 알림톡,
charAt() : 특정 인덱스에 해당하는 문자를 반환
indexOf() : 해당 문자열에서 특정 문자나 문자열이 처음으로 등장하는 인덱스의 위치를 반환, 포함되지 않으면 -1을 반환
equals : 문자열 비교
substring(int a, int b)
해당 문자열의 a번째 문자부터 b번째 문자 바로 전까지의 문자를 가지는 문자열을 만듦
public class StringOpertaion {
public static void main(String[] args) {
System.out.println("Hello world".length()); // length글자의 수를 알려줌
System.out.println("Hello world, <name> ... bye".replace("<name>", "test")); //replace를 통해 자기가 원하는 부분만 원할떄 마다 수정하기 쉽게끔.
}
}
Error: Main method not found in class Stringoperation, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application
이런 에러가 발생하는데 어떻게 해야 하나요? ㅠㅠ 문법보다 프로그램 깔고 실행하는게 훨씬 어려운것 같아요 ㅠㅠ
System.out.println("hello my name is daisy".length());
System.out.println("hello my name is [name]".replace("[name]","egoing"));
System.out.println("Hello What is your name?".toLowerCase());
System.out.println("hello what is your name?".toUpperCase());
// 22
// hello my name is egoing
// hello what is your name?
// HELLO WHAT IS YOUR NAME?
1) concat, equals 등이 있습니다.
2) 문자열의 확장, 비교 등 다양한 동작을 수행해 낼 수 있습니다.
split() 문자열을 괄호 안의 요소를 기준으로 끊을 수 있음.
ength () 문자열의 최대길이 파악 할 수 있습니다.
또한
replace () 대문자나 소문자 등으로 변경 가능할것 같아요
모두 대문자로 toUpperCase( )
System.out.println("Bubbletea".toUpperCase());
-> BUBBLETEA
모두 소문자로 toLowerCase( )
System.out.println("Yum".toLowerCase());
-> yum
length () 문자열의 최대길이 파악
replace () 텍스트교체 효율적일것같습니다 감사합니다.
감사합니다! length와 replace가 효율적으로 많이 쓰이겠네용