본문 바로가기

java/자바

문자열 자르기

문자열 자르기

종류를 정리해보자

 

 

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