`
jilong-liang
  • 浏览: 481031 次
  • 性别: 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、...

    oracle函数,序列与分页代码实现及相关练习题

    SELECT REPLACE('abcbc123bc123', 'bc', 'k') FROM dual; ``` - 截取字符串: ```sql SELECT SUBSTR('1234567890', 2, 3) FROM dual; SELECT SUBSTR('1234567890', 2) FROM dual; ``` ##### 数字函数 - **ABS...

    正则表达精髓版

    正则表达式(Regular Expression)是一种强大的文本处理工具,在搜索、替换、校验文本字符串方面有着广泛的应用。它通过一系列简单的代码来匹配字符串中的字符组合。 #### 二、基本符号介绍 1. **重复符号**: - ...

    yacc,lex从入门到精通

    - `abc+`:匹配以`abc`开头,后面跟着至少一个`c`的字符串,如`abcc`、`abccc`等。 - `a(bc)+`:匹配以`a`开头,后面跟着`bc`序列的一次或多次重复,如`abc`、`abcbc`等。 - `a(bc)?`:匹配以`a`开头,后面可选跟随...

    人教版初二数学上册:十字相乘法及分组分解法(基础)巩固练习.doc

    4. 多项式与一次因式的关系:如果一个二次多项式可以表示为两个一次因式的乘积,那么它一定可以被因式分解,而且这两个一次因式的系数可以通过求解二次方程找到。 【练习题解析】 1. 21016aa+的因式分解,根据十字...

    电气检修题库.pdf

    电气检修是一个专业领域,需要对电气原理、电路设计、设备性能和安全规程有深入的了解。 2. 电气元件识别与参数:题库中出现的诸如“mA20-50mA100,000--600,000”、“390V,385V,500v”等内容可能是对电流、电压等级...

    正定第二学期高一第2次考试.pdf

    20. 直线与圆的位置关系:最后一部分,证明直线l与圆C总是有两个交点,并在特定条件下求解直线l的倾斜角。 以上就是试卷中涉及到的数学知识点,包括不等式解法、三角函数、等比数列、数列递推、平均值不等式、直线...

    安徽省淮北市2013-2014学年七年级上学期期末考试试题(英语 扫描版).doc

    给出的答案序列显示了题目的选项顺序,例如1-5: ABCBC,表示这部分的第一个问题答案为A,第二个问题答案为B,以此类推。 笔试部分则包括多项选择、完形填空、阅读理解、补全对话、根据提示写单词和句型转换六个环节...

    江苏省2020年上学期苏州四市五区高三期初英语调研试题答案[精选].doc

    这篇文档主要包含了江苏省2020年上学期苏州四市五区高三英语期初调研试题的答案和解析,涉及的英语学习知识点主要包括以下几个方面: 1. **听力理解**: - 考察学生的听力技巧,如抓住关键信息、理解对话情境等。 ...

    没头脑和不高兴阅读测试题.pdf

    从提供的文件内容来看,文件标题和描述均指向了“没头脑和不高兴阅读测试题.pdf”,而内容部分显示的是一连串的字母、数字以及括号中的文字。由于内容部分看似是经过OCR技术扫描生成的文本,存在错别字和乱码,因此...

    河南省平顶山市宝丰县2017-2018学年八年级英语下学期期中试题(扫描版) 人教新目标版

    这一环节主要测试学生在句子中正确使用词汇的能力,如填入合适的形容词、副词、动词等。题目66到75展示了在特定语境中选用恰当单词的重要性,要求学生具备丰富的词汇量和对词汇意义的深入理解。 六、情景交际 这...

    苏教版七年级下册数学[十字相乘法及分组分解法(基础)重点题型巩固练习].doc

    如第6题所示,先将2222abcbc分成222(2)abc和bc,然后分别因式分解。 3. 二次多项式因式分解的一般步骤:观察各项系数,尝试十字相乘法;如果无法直接应用十字相乘,考虑分组分解,再利用提取公因式或完全平方公式等...

    河南省信阳市实验高级中学2020-2021学年春高一英语下学期期末考前模拟试题(PDF)答案

    读后续写部分包括两段文字,第一段提出了一个情景:“做正确的事”,第二段则是一个名为Li Hua的人物对收到的信件的回复,其中描述了她在中国高中的学习生活,面临的压力和挑战,以及通过参加学校提供的课外活动得到...

    继电保护竞赛试题.pdf

    3. **输电线路故障类型**:当发生BC两相短路时,故障处的边界条件是IIIUU·····===ABCBC0,这涉及到故障识别和保护装置的设定。 4. **距离保护的优点**:距离保护的主要优点是具有时间阶梯特性,即根据距离...

    广东省惠来县葵潭2019 2020学年高二数学上学期第一次月考试题.doc

    这篇文档是广东省惠来县葵潭中学2019-2020学年高二数学上学期第一次月考试题,主要涵盖了高中数学中的多个核心知识点。以下是对试卷部分内容的详细解析: 1. 选择题第1题考察了数列的性质。题目要求找出既是递增...

    河南省南阳市 高二英语上学期期终质量评估试题(扫描版) 试题.doc

    这篇文档实际上是一份高二英语期末质量评估的试题及参考答案,主要包含了听力、阅读理解、完形填空和语法填空等英语学习的核心部分,同时也包含了一篇模拟的英语书信写作样本。 首先,听力部分是英语学习的基础,...

    高一数学下册月月考试卷.doc

    6. **三棱锥的性质**:三棱锥的三视图是三个全等的等腰直角三角形,说明三棱锥的底面是一个等腰直角三角形,侧面也是直角三角形,因此表面四个三角形中有3个直角三角形。 7. **正四面体的几何问题**:封闭的正...

    2021届黑龙江省实验中学高三下学期英语第三次模拟考试三模试题答案.doc

    在这个模拟考试中,1-20题的答案为ABCBC ACACA BCBAB CAABC,考生可以通过这个答案回顾自己的听力表现,分析在哪些题型上容易出错,如时间、地点、人物关系等信息的把握。 2. **阅读理解**: 阅读理解测试学生对...

    黑龙江省哈尔滨市阿城区2017_2018学年七年级英语下学期期末试题扫描版冀教版

    这份资料是针对黑龙江省哈尔滨市阿城区2017-2018学年七年级英语下学期期末考试的试题及答案,旨在检验学生对初中英语第一年的学习成果。试卷包含了多项考核点,有助于全面评估学生的英语能力。 1. **单项选择**:这...

    天津市红桥区高三英语第二次模拟考试题(扫描版) 试题.doc

    这篇文档是关于“天津市红桥区高三英语第二次模拟考试题”的一份资料,主要包含试题的答案和部分考试题目的内容。这份试题属于“中学试卷”类别,对于高三学生来说,是备考高考的重要参考资料。 首先,试题的单项...

Global site tag (gtag.js) - Google Analytics