Step-by-Step
[Java] 프로그래머스 - 숫자 문자열과 영단어 본문
https://programmers.co.kr/learn/courses/30/lessons/81301?language=java
다음과 같이 영어로된 숫자를 아라비아 숫자로 바꾼 후 Int 형태로 반환하는 함수를 만드는 것이다.
[코드]
코드는 replace()를 이용하였고, 문제가 될까봐 일단 지웠다!
String에는 특정 문자열을 다른 문자열로 바꿔주는 replace()라는 좋은 함수가 있다.
대표적인 3가지를
1. replace
public String replace(CharSequence target,
CharSequence replacement)
- 바꿀 문자열 대상(target)과 바꿀 문자열(replacement)를 넣어주면 된다
2. replaceFirst
public String replaceFirst(String regex,
String replacement)
- 바꾸고 싶은 대상을 처음 찾을때만 바꿔준다
3. replaceAll
public String replaceAll(String regex,
String replacement)
- 자신이 바꾸고싶은 문자로 문자열을 전부 치환시켜준다
- replace와 비슷해보이는데, 첫 번째 인자인 regex의 설명을 보면,
regex : the regular expression to which this string is to be matched으로, 정규식이 들어간다
만약 "0123456789"에서 숫자들을 모두 "num"으로 바꾸고 싶을 때,
replace는 s.replace("0","num").replace("1","num")..... 이런식으로 지정해줘야 하지만,
replaceAll은 s.replace(["[0-9]", "num") 이런식으로 첫 번째 인자에 형식에 맞는 정규식을 넣어주면 된다
[참조]
https://docs.oracle.com/javase/7/docs/api/
https://coding-factory.tistory.com/128
'언어 > JAVA' 카테고리의 다른 글
[Java] 프로그래머스 - 신고 결과 받기 (0) | 2022.05.20 |
---|---|
[Java] 프로그래머스 - 표편집 (0) | 2022.05.05 |
[JAVA] 백준 - 주사위 굴리기 (0) | 2022.02.18 |
[JAVA] 백준 - 2048(Easy) (0) | 2022.02.15 |
[JAVA] 배열 복사 - 얕은 복사와 깊은 복사 (0) | 2022.02.09 |