public static String StrReplace(String rStr, String rFix, String rRep) {
int l = 0; String gRtnStr = rStr; do
{
l = rStr.indexOf(rFix,l); if(l == -1) break; gRtnStr = rStr.substring(0,l) + rRep + rStr.substring(l + rFix.length());
l += rRep.length();
rStr = gRtnStr; }while(true); return gRtnStr.substring(0, gRtnStr.length());
}
int l = 0; String gRtnStr = rStr; do
{
l = rStr.indexOf(rFix,l); if(l == -1) break; gRtnStr = rStr.substring(0,l) + rRep + rStr.substring(l + rFix.length());
l += rRep.length();
rStr = gRtnStr; }while(true); return gRtnStr.substring(0, gRtnStr.length());
}
依次读源字符串(一个个char的度),如果是定义的分隔符(比如空格,标点符号),就将堆栈的东西全部弹出到append到StringBuffer对象;否则就push到堆栈(也可以反过来,判断是字母就push,否则就pop)。
{
int i=0;
String tmp=new String();
for (i=str.length()-1;i>=0;i--)
{
tmp=tmp+str.charAt(i);
}
return tmp;
}//主程序
public void exec(String str)
{
String allstr=new String("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
String result=new String();
String tmp=new String();
int i=0,position=0;
for (i=0;i<str.length();i++)
{
position=allstr.indexOf(str.toLowerCase().charAt(i),0);
if (position<0)
{
result=result+conver(tmp)+str.charAt(i);
tmp="";
}
else{
if (i==str.length()-1)
result=result+conver(tmp+str.charAt(i));
else
tmp=tmp+str.charAt(i);
}
}
System.out.println(result);//输出结果
}