public class StrReplace{ public static String replace(String input,String source,String dest,int index){ StringBuffer sb=new StringBuffer(); int count=0; int pos=0; boolean find=false; while((pos=input.indexOf(source))!=-1){ count++; if(count==index){ find=true; sb.append(input.substring(0,pos)); sb.append(dest); sb.append(input.substring(pos+source.length())); break; }else{ sb.append(input.substring(0,pos+source.length())); input=input.substring(pos+source.length()); } } if(!find || index<=0)throw new IndexOutOfBoundsException(); return sb.toString(); } public static void main(String args[]){ String str="222@parameter222@parameter222"; str=replace(str,"@parameter","HHHHHHHHHH",1); System.out.println(str); } }
好像有String类里关于正则表达是的运用 里面有相关的API
import javax.swing.*;public class To { public static void main(String[] args){ String s="@parameter b @parameter c dd @parameter ww"; String replaceS=JOptionPane.showInputDialog("Enter the string need replace:");
public static String deleteSubString(String str,String substr){ StringBuilder sb = new StringBuilder(str); int index = sb.lastIndexOf(substr); return sb.delete(index, index+substr.length()).toString(); }
不好意思,上面看错了,搞成删除去了。public static String deleteSubString(String str,String searchstr,String replacestr){ StringBuilder sb = new StringBuilder(str); int index = sb.lastIndexOf(searchstr); return sb.replace(index, index+searchstr.length(),replacestr).toString(); }
String str = "@parameter¥@parameter#@parameter&@parameter";
if(param == null || "".equals(param) || n <=0)
return str;
String[] temp = str.split("@parameter");
int len = temp.length;
if(len < n-1)
return str;
else {
StringBuffer strb = new StringBuffer();
for(int i = 0 ; i < len ; i ++){
strb.append(temp[i]);
if(i != n-1){
strb.append("@parameter");
}else {
strb.append(param);
}
}
return strb.toString();
}
}
* 这是一个替换连续相同字符串中指定字符串的方法
* @author denghanyi
*
*/
public class Replace {
private static String str = "@parameter@parameter@parameter@parameter@parameter@parameter";
public String replace(int n,String parameter) {
String[] temp = str.split("@");
for(int i = 1;i < temp.length;i++) {
if(i == n) {
temp[i] = parameter;
}
else
temp[i] = "@" + temp[i];
}
String a = "";
for(int i = 1; i < temp.length;i++) {
a += temp[i];
}
return a;
}
public static void main(String[] args) {
Replace re = new Replace();
str = re.replace(4, "parameter");
System.out.println(str);
}
}
* 这是一个替换连续相同字符串中指定字符串的方法
* @author denghanyi
*
*/
public class Replace {
private static String str = "@parameter@parameter@parameter@parameter@parameter@parameter";
public String replace(int n,String parameter) {
String[] temp = str.split("@");
for(int i = 1;i < temp.length;i++) {
if(i == n) {
temp[i] = parameter;
}
else
temp[i] = "@" + temp[i];
}
String a = "";
for(int i = 1; i < temp.length;i++) {
a += temp[i];
}
return a;
}
public static void main(String[] args) {
Replace re = new Replace();
str = re.replace(4, "parameter");
System.out.println(str);
}
}
String.split()
就这几个方法。
我懒得 打开Eclipse写Code。。
呵呵
public class StrReplace{
public static String replace(String input,String source,String dest,int index){
StringBuffer sb=new StringBuffer();
int count=0;
int pos=0;
boolean find=false;
while((pos=input.indexOf(source))!=-1){
count++;
if(count==index){
find=true;
sb.append(input.substring(0,pos));
sb.append(dest);
sb.append(input.substring(pos+source.length()));
break;
}else{
sb.append(input.substring(0,pos+source.length()));
input=input.substring(pos+source.length());
}
}
if(!find || index<=0)throw new IndexOutOfBoundsException();
return sb.toString();
}
public static void main(String args[]){
String str="222@parameter222@parameter222";
str=replace(str,"@parameter","HHHHHHHHHH",1);
System.out.println(str);
}
}
里面有相关的API
public static void main(String[] args){
String s="@parameter b @parameter c dd @parameter ww";
String replaceS=JOptionPane.showInputDialog("Enter the string need replace:");
String s1=s.substring(0,s.lastIndexOf(replaceS));
String s2=s.substring(s.lastIndexOf(replaceS)+replaceS.length(),s.length());
StringBuffer s3=new StringBuffer();
s3.append(s1);
s3.append("parameter");
s3.append(s2);
System.out.println(s);
System.out.println(s3);
}
}
感觉可以,别忘给哥们点辛苦费!
int i=0;
int temp = strb.indexOf(parm);
if(temp<0) return "没有找到"+parm;
while(i<n-1){
temp = strb.indexOf(parm,temp+1);
i++;
if(temp<0) return parm+"的总数小于"+n;
}
strb.replace(temp, temp+2, repalcedparm);
return strb.toString();
}
public static String replace(StringBuffer strb,int n,String parm,String repalcedparm){
int i=0;
int temp = strb.indexOf(parm);
if(temp<0) return "没有找到"+parm;
while(i<n-1){
temp = strb.indexOf(parm,temp+1);
i++;
if(temp<0) return parm+"的总数小于"+n;
}
strb.replace(temp, temp+parm.length(), repalcedparm);
return strb.toString();
}
public static String deleteSubString(String str,String substr){
StringBuilder sb = new StringBuilder(str);
int index = sb.lastIndexOf(substr);
return sb.delete(index, index+substr.length()).toString();
}
StringBuilder sb = new StringBuilder(str);
int index = sb.lastIndexOf(searchstr);
return sb.replace(index, index+searchstr.length(),replacestr).toString();
}