검지 제공 매일 일솔-2017 년 11 월 11 일

2501 단어 검지 제공
제목 설명
문자열 의 빈 칸 을'%20'으로 바 꾸 는 함 수 를 구현 하 십시오.예 를 들 어,문자열 이 We Are Happy 일 때,교 체 된 문자열 은 We%20Are%20Happy 입 니 다.
   :  JDK API    
public class ReplaceBackspace {

	    public String replaceSpace(StringBuffer str) {
	    	String string = str.toString();
	    	String replace = string.replace(" ", "%20");
	    	return replace;
	    }

}

방법 2:/* 1: , , ! 2: , ( java replace )。        , , ,        , , , , 。
사고방식 은 다음 과 같다.1.str 에 몇 개의 빈 칸 이 있 는 지 먼저 계산한다.
2.빈 칸 을'%20'으로 바 꾼 후 str 의 길 이 를 new Length 로 계산 합 니 다.
3.str 의 길 이 를 newLength 로 설정 하면 길이 가 증가 하고 새로 증가 한 길 이 는 값 이 없습니다.
4.str 에 대해 원래 의 길이 에 따라 뒤쪽 에서 앞으로 옮 겨 다 니 고 모든 자 모 를 새로운 길이 에 따라 뒤쪽 에서 앞으로 할당 합 니 다.
뒤에 대 입 된 알파벳 이 있 는 원래 위 치 는 다른 기호 에 의 해 점용 되 고 원래 의 문자 에 영향 을 주지 않 습 니 다.
5.스페이스 바 를 만나면'0','2','%'삽입
*/
 public String replaceSpace(StringBuffer str){
	    	//  str  space  
	    	int spaceNum = 0; //  space   
	    	for(int i=0;i < str.length();i++){
	    		if(str.charAt(i) == ' '){ //  i    char     ' '
	    			spaceNum ++;
	    		}
	    	}
	    	
	    	int oldLength = str.length();
	    	int newLength = str.length()+ spaceNum*2; //%20         ,      space      spaceNum*2
	    	
	    	int oldIndex  = oldLength-1;
	    	int newIndex = newLength-1;
	    	
	    	//StringBuffer newStr;
	    	str.setLength(newLength);
	    	//    str      ,   ' '    '%', '2','0'
	    	for(;oldIndex>=0 && oldIndex < newLength;--oldIndex){
	    		if(str.charAt(oldIndex) == ' '){
	    			str.setCharAt(newIndex--,'0');
	    			str.setCharAt(newIndex--, '2');
	    			str.setCharAt(newIndex--, '%');
	    		}else{
	    			str.setCharAt(newIndex--, str.charAt(oldIndex));
	    		}
	    	}
	    	return str.toString();
	    	
	    }

방법 3:
 public static String replaceSpace(StringBuffer str){
		   if(str==null)
		   {return "%20";}
		   		 
		   char[] ss = str.toString().toCharArray();
		   StringBuffer sb = new StringBuffer();
		   for(int i=0;i

좋은 웹페이지 즐겨찾기