以下是我的代码,供参考:package com.lrl.test;/** * 函数replaceString即完成此功能 * s1代表要替换的字符串,str代表s1中要替换的字符串,s2代表要被替换成的字符串 * @author lrl * */public class Replace { public String replaceString(String s1, String str, String s2) { StringBuffer sb = new StringBuffer(); while (s1.indexOf(str) >= 0) { int first = s1.indexOf(str); sb.append(s1.substring(0, first)); sb.append(s2); s1 = s1.substring(first + str.length()); } return sb.toString(); } public static void main(String[] args) { String s = new Replace().replaceString("abcd000def000cde000", "000", "111"); System.out.println(s); }}
程序运行结果:abcd111def111cde111
while(A.indexOf("000") != -1){
A = A.substring(0, A.indexOf("000"))+"111"+A.substring(A.indexOf("000")+3,A.length()); } 这样算不算合格??
public static void main(String[] args) { String A="abcd000def000cde000",B="111" ;
while(A.indexOf("000") != -1){
A = A.substring(0, A.indexOf("000"))+B+A.substring(A.indexOf("000")+3,A.length());
}
因为String拥有不可变性,不可变带来的好处是可以共享,所以不能把字符串A中的000都替换成111,但是可以生成一个新的字符串String A = "abcd000def000cde000", B = "111"; A = A.replaceAll("000", "111"); System.out.println(A);
public class Replace{ public static void main(String args[]){ String A="abcd000def000cde000"; String M=null; char s[]=A.toCharArray(); for(int i=0;i<A.length();i++){ if(s[i]=='0'){ s[i]='1'; } } M=String.valueOf(s); System.out.println(M); } }
[code=Java] import java.util.regex.Matcher; import java.util.regex.Pattern;public class Test { public static void main(String[] args) {
String begin = "abcd000def000cde000";
Pattern pattern = Pattern.compile("[0]{3}"); Matcher m = pattern.matcher(begin);
* 函数replaceString即完成此功能
* s1代表要替换的字符串,str代表s1中要替换的字符串,s2代表要被替换成的字符串
* @author lrl
*
*/public class Replace { public String replaceString(String s1, String str, String s2) {
StringBuffer sb = new StringBuffer();
while (s1.indexOf(str) >= 0) {
int first = s1.indexOf(str);
sb.append(s1.substring(0, first));
sb.append(s2);
s1 = s1.substring(first + str.length());
} return sb.toString();
} public static void main(String[] args) {
String s = new Replace().replaceString("abcd000def000cde000", "000", "111");
System.out.println(s);
}}
A = A.substring(0, A.indexOf("000"))+"111"+A.substring(A.indexOf("000")+3,A.length());
} 这样算不算合格??
public static void main(String[] args) {
String A="abcd000def000cde000",B="111" ;
while(A.indexOf("000") != -1){
A = A.substring(0, A.indexOf("000"))+B+A.substring(A.indexOf("000")+3,A.length());
}
A = A.replaceAll("000", "111");
System.out.println(A);
public static void main(String args[]){
String A="abcd000def000cde000";
String M=null;
char s[]=A.toCharArray();
for(int i=0;i<A.length();i++){
if(s[i]=='0'){
s[i]='1';
}
}
M=String.valueOf(s);
System.out.println(M);
}
}
[code=Java]
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class Test { public static void main(String[] args) {
String begin = "abcd000def000cde000";
Pattern pattern = Pattern.compile("[0]{3}");
Matcher m = pattern.matcher(begin);
StringBuffer newStr = new StringBuffer();
while(m.find()){
m.appendReplacement(newStr,"111");//实现非终端添加和替换步骤
}
m.appendTail(newStr);//实现终端添加和替换步骤。
System.out.println(newStr.toString());
}
}今天问这道题的这么多人呢,是不是你们几个去同一家公司面试了,这道题也不难啊。
[/code]