문자열 자르기
종류를 정리해보자
indexOf 와 substring으로 사용할수 밖에 없는가? 다른건 없는가?
public List<String> 캠페인이미지url리스트 (String campaignName, List<String> campaignImgUrlList) {
List<String> campaignOnlyImgUrlList = new ArrayList<String>();
for (String imageUrl : campaignImgUrlList) {
if (imageUrl.lastIndexOf(".") >= 0) {
String imgUrlExtension = imageUrl.substring(imageUrl.lastIndexOf(".") + 1, imageUrl.length());
if(!StringUtils.containsAny(imgUrlExtension.toLowerCase(), "jpeg", "jpg", "png", "gif")) {
logger.debug("DSP IMG FILE은 등록 안함 campaignName: {}, imageUrl: {}", imageUrl);
continue;
}
}
campaignOnlyImgUrlList.add(imageUrl);
}
return campaignOnlyImgUrlList;
}
substring(시작 index, 종료 index) : String 반환
substring(시작 index) : 시작 index~마지막 까지
//사용법
String.substring(start) //문자열 start위치부터 끝까지 문자열 자르기
String.substring(start,end) //문자열 start위치 부터 end전까지 문자열 발췌
//예제
String str = "ABCDEFG"; //대상 문자열
/*A=0 B=1 C=2 D=3 E=4 F=5 G=6의 index를 가진다.*/
str.substring(3);
/*substring(시작위치) 결과값 = DEFG*/
str.substring(3, 6);
/*substring(시작위치,끝위치) 결과값 = DEF*/
slice(시작 index, 종료 index)
없는거같은데.
substr(시작 index, 길이)
없는거같은데
split : 기준문자대로 배열로 리턴
//문법
문자열배열 = 대상문자열.split("기준문자");
//예제
String str = "";
for(int i=0;i<5;i++) {
str += i+"#";
} // 0#1#2#3#4#
String[] array = str.split("#");
for(int i=0;i<array.length;i++) {
System.out.println(array[i]);
}
//결과값
//array[0] = 0
//array[1] = 1
//array[2] = 2
//array[3] = 3
//array[4] = 4
'java > 자바' 카테고리의 다른 글
18.3 콘솔 입출력 (0) | 2022.01.31 |
---|---|
IO 입출력 (0) | 2022.01.28 |
enum 열거타입 (0) | 2022.01.24 |
[java] 추상 클래스 (0) | 2022.01.01 |
[java] 전략 패턴 (Strategy pattern) (0) | 2022.01.01 |