java split을 사용하여 구분자로 구별할 수 있는데요,
split 함수가 인자가 1개인 경우도 있고, 2개인 경우도 있습니다.
이때 2개의 인자를 사용해보겠습니다.
예를 들어 문장을 입력받았는데, 제일 마지막 두 단어에 [ ] 표시를 한다고 하면,
만약 한문장이 한단어로 이루어진 경우도 있겠죠? 그걸 경우는 그 한 단어에 [ ] 표시를 합니다.
ex) 지금 뭐하고 있어? ==> 지금 [뭐하고] [있어?]
지금 뭐하고 있어? ==> 지금 [뭐하고] [있어?] (중간에 space가 두개인 경우)
뭐하니? ==> [뭐하니?]
나는 오늘도 회사에 가야 한다. ==> 나는 오늘도 회사에 [가야] [한다.]
private static String getLearnSentence(String input) {
String result = "";
if(input.trim().length() == 0) {
return result;
}
String[] myArr = input.trim().split(" ",-1);
int arrLength = myArr.length;
for(int i=0 ; i<arrLength ; i++)
{
System.out.println(myArr[i]);
if(!myArr[i].isEmpty()) {
if(i >= arrLength -2 ) {
result = result + " ["+myArr[i]+"]";
}else {
result = result + " "+myArr[i];
}
}else {
arrLength--;
}
}
return result;
}
input.split(" ",-1) ==> 구분자는 " "이고, 구분자 사이에 값이 없는 경우는 제외하라는 뜻입니다.
만약 입력값에 공백이 하나가 아니라 두개가 들어오더라도 상관이 없겠죠?
위 로직은 문장 중간에 space가 두개가 아니라 세개 또는 그 이상이 여러개 들어올경우는 문제가 생깁니다.
그러면 아래 로직 참고해서, space만 있는 String[] 객체는 제외시키는 로직을 먼저 동작시키면 됩니다.
이번에는 문장을 입력받았는데, 제일 마지막 두 단어를 합쳐서 [ ] 표시를 한다고 하면,
만약 한문장이 한단어로 이루어진 경우는 그 한 단어에 [ ] 표시를 합니다.
ex) 지금 뭐하고 있어? ==> 지금 [뭐하고 있어?]
지금 뭐하고 있어? ==> 지금 [뭐하고 있어?] (중간에 space가 두개인 경우)
뭐하니? ==> [뭐하니?]
나는 오늘도 회사에 가야 한다. ==> 나는 오늘도 회사에 [가야 한다.]
private static String getLearnSentence(String input) {
String result = "";
if(input.trim().length() == 0) {
return result;
}
String[] myArr = input.trim().split(" ",-1);
ArrayList<String> list = new ArrayList<String>();
for(String data : myArr) {
if(!data.trim().isEmpty()) list.add(data); // 실제 데이터가 있는 경우만 추가
}
for(int i=0 ; i<list.size() ; i++)
{
System.out.println(myArr[i]);
if(i >= list.size() -1 ) {
if(list.size() == 1) {
result = "["+list.get(i)+"]";
}else {
result = result + " "+list.get(i)+"]";
}
}else if(i >= list.size() -2 ) {
result = result + " ["+list.get(i);
}else {
result = result + " "+list.get(i);
}
}
return result;
}
'자바 일반' 카테고리의 다른 글
엑셀파일 생성 후 다운로드 (for Java, Spring) (0) | 2021.09.07 |
---|---|
자바 정규식, 한글이 있는지 (0) | 2021.05.31 |
정규표현식 (javascript, java) split 사용법 (0) | 2020.11.04 |
JSON 데이터 정렬하여 보기, JSON Tree 구조 보기 (0) | 2020.08.07 |
JSONObject 를 MAP으로 변환, JSONArray를 List로 변환 샘플 (0) | 2019.05.30 |