CodeWars 여든 여섯 번째 문제
Updated:
Strip Comments
public static String stripComments(String text, String[] commentSymbols) {
String[] split = text.split("\n");
for(int i = 0; i < split.length; i++) {
split[i] = removeComment(split[i], commentSymbols);
}
return String.join("\n", split);
}
private static String removeComment(String string, String[] commentSymbols) {
int minIndex = Integer.MAX_VALUE;
for(int i = 0; i < commentSymbols.length; i++) {
int index = string.indexOf(commentSymbols[i]);
if(minIndex > index && index >= 0) {
minIndex = index;
}
}
return minIndex == Integer.MAX_VALUE ? string.replaceAll("\\s+$", "") : string.substring(0, minIndex).replaceAll("\\s+$", "");
}
- 문제는 쉬웠는데 마지막 문자열의 공백을 없애는 것이 지금까지 공부한 정규식이 빛을 바랬다.
- \s+$ 의 의미는 문장의 항상 마지막 공백을 말하는 것으로 이것을 replace 해서 공백을 없앴다.