문자열의 공백을 "%20"으로 바꾸는 함수를 구현하십시오. 예를 들어 문자열이 We Are Happy.이면 대체된 문자열은 We%20Are%20Happy입니다.
시간 복잡도를 줄이기 위해 역순으로 바꾸기
String한번 초기화되면 변경할 수 없습니다.
StringBuffer를 사용하는 이유는 Niuke.com의 템플릿 때문입니다.
실제 사용에서는 잠금이 없고 효율성이 높기 때문에 단일 스레드에는 StringBuilder를 사용하는 것이 좋습니다.
멀티스레딩에서는 StringBuffer를 사용하세요.
둘 다 내장 함수 는 동일합니다
원본 문자열을 변경하거나 새 문자열을 생성합니다(원래 문자열인 경우 setLength() 길이를 재설정해야 합니다)
기존 문자열 교체() 사용을 고려하지 마세요.
public static String replaceSpace(StringBuffer str){ int length = str.length(); int spacenum = 0; //统计空格字符个数 for(int i=0;i<length;i++){ if(str.charAt(i) == ' ') spacenum++; } int lengthNew = length + spacenum*2; str.setLength(lengthNew); int index = length-1; int indexNew = lengthNew-1; for(;index>=0;index--){ if(str.charAt(index) == ' '){ str.setCharAt(indexNew--, '0'); str.setCharAt(indexNew--, '2'); str.setCharAt(indexNew--, '%'); } else{ str.setCharAt(indexNew--, str.charAt(index)); } } return str.toString(); }
자, 이번 글은 여기까지입니다. 여러분의 조언을 환영합니다. 관심이 있으시면 PHP 중국어 홈페이지 온라인 Java 동영상 튜토리얼
을 참고하세요.위 내용은 Java는 문자열의 공백을 대체하기 위한 아이디어와 코드를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!