`
jilong-liang
  • 浏览: 473607 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

下面有一个字符串如:abcbc,如何替换成afff输出不能用String,replace替换也不用replaceAll("bc","ff");

    博客分类:
  • Java
阅读更多

public class Test9 {

/**

 * 下面有一个字符串如:abcbc,如何替换成afff输出,

 * 不能用String,replace替换也不用replaceAll("bc","ff"); 

 * 用了replace和replaceAll都不给分,也无效

 */

public static void main(String[] args) {

       System.out.println(replace("abcbc""bc""ff"));//只能用这种

 

       String Str="abcbc";

       Str=Str.replace("bc""ff");

       Str=Str.replaceAll("bc""ff"); 

       System.out.println(Str);

 

}

public static String replace(String param, String old, String _new)  {

       String value = "";

       int repLen = old.length();

       int val;

       while ((val = param.indexOf(old)) != -1) {

            value += param.substring(0, val);

            value += _new;

            param = param.substring(val + repLen);

   }

           value += param;

      return value;

}

}

0
5
分享到:
评论
4 楼 jxxfldt 2013-11-15  
public static String replace(String s, String oldStr, String newStr) {
char[] value = s.toCharArray();
char[] oldArr = oldStr.toCharArray();
int oldStrLength = oldArr.length;
int length = value.length;
boolean bool = false;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < length; i++) {
if (value[i] == oldArr[0]) {
for (int j = 1; j < oldStrLength; j++) {
if ((i + j) < length && value[i + j] == oldArr[j]) {
bool = true;
} else
bool = false;
}
}
if (bool) {
sb.append(newStr);
bool = false;
i += oldStrLength-1;

} else {
sb.append(value[i]);
}

}
return sb.toString();

}
写了另外一种 请指教
3 楼 jilong-liang 2013-03-25  
jiaohuizhe 写道
错了,把StringBuilder ss=new StringBuilder();这行删除就好了,刚刚试了下StringBuilder。
O(∩_∩)O谢谢提出~~受教 呵呵
2 楼 jiaohuizhe 2013-03-25  
错了,把StringBuilder ss=new StringBuilder();这行删除就好了,刚刚试了下StringBuilder。
1 楼 jiaohuizhe 2013-03-25  
你写的方法有问题,如果是从bc替换为abc则会变成死循环了,而且替换操作建议使用StringBuffer或StringBuilder,下面我用StringBuffer写了一段

public static String replace(String param, String old, String _new) {
StringBuilder ss=new StringBuilder();
StringBuffer sb=new StringBuffer(param);
int index=0;
while((index=sb.indexOf(old,index))!=-1) {
sb.delete(index,index+old.length());
sb.insert(index,_new);
index+=_new.length();
}
return sb.toString();
}

相关推荐

    C语言字符串快速压缩算法代码

    请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。 压缩规则: 1、仅压缩连续重复出现的字符。比如字符串”abcbc”由于无连续重复字符,压缩后的字符串还是”abcbc”。 2、...

    2018年下半年网络工程师考试上午真题

    2018年下半年网络工程师考试上午真题答案 1-5 DCABA 6-10 CDCDB 11-15 CCBBD ...26-30 ABCBC 31-35 ADADD 36-40 ADCCC 41-45 BBDBB 46-50 CDBAC 51-55 BDDAB 56-60 CBABD 61-65 AACAA 66-70 CBABA 71-75 BACDA

    tensorflow-2.9.2-cp39-cp39-win-amd64.whl

    python爬虫案例

    2023年下半年计算机等级考试-公共基础-WPS-PS.zip

    2023年下半年计算机等级一级考试Photoshop考点梳理 2023年下半年计算机等级一级考试WPS office考点汇总 2023年下半年计算机二级考试公共基础知识科目考点汇总 根据实际考试情况进行的总结。

    Introduction to Data Science Data With R 英文

    Introduction to Data Science Data Analysis and Prediction Algorithms with R 英文原版,完整带目录,非常好的数据分析资料,有基于R的完整数据分析过程

    数电实验三:74LS151逻辑功能测试、74LS153逻辑功能测试、74LS153全加器、三输入多数表决电路

    数电实验三:74LS151逻辑功能测试、74LS153逻辑功能测试、74LS153全加器、三输入多数表决电路

    农业机械维修记录(表式).doc

    农业机械维修记录(表式).doc

    go语言优质学习资源和工具与案列应用场景.txt

    go语言优质学习资源和工具与案列应用场景.txt

    网络攻防课程seed-labs实验-Spectre_Attack.zip

    网络攻防课程seed-labs实验-Spectre_Attack.zip

    GameAssistant_300200000_0_ 2.exe

    GameAssistant_300200000_0_ 2.exe

    电商小程序前端模板下载

    电商小程序前端模板下载。

    MySQL开发案列优质学习资料资源工具与案列应用场景开发文档教程资料.txt

    MySQL开发案列优质学习资料资源工具与案列应用场景开发文档教程资料.txt

    基于图像处理技术的蛋鸡采食行为研究源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

    2024海外营销日历.zip

    2024海外营销日历.zip

    最新版点微同城源码34.7+全套插件+小程序前后端附图片

    最新版点微同城源码34.7+全套插件+小程序前后端附图片 模板挺好看的 带全套插件 自己耐心点配置一下插件 可以H5可以小程序

    二开微信表情包小程序+前后端

    最新二开微信表情包小程序+前后端 【去授权版】,带简单文本教程,已经去除授权加二开 内含二开版本和表情包-黄色版本

    Python爬取百度贴吧数据.zip

    python爬虫案例

    端午节相关庆祝代码的示例

    端午节相关庆祝代码的示例

    开源光谱分析仪博客的代码

    开源光谱分析仪项目的代码,作出了一些改进: 1.添加了详细的中文注释; 2.把图片中的英文图例说明改成了中文图例,图例字体设置为宋体;

    基于校园一卡通的学生考勤信息分析展示系统设计与实现源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

Global site tag (gtag.js) - Google Analytics