替换字符串中连续出现的指定字符串
来源:互联网 发布:哈佛法学院 知乎 编辑:程序博客网 时间:2024/04/29 01:05
本题来自《程序员代码面试指南》(左程云)著
题目:给定三个字符串str,from,to,已知from字符串中无重复字符,把str中所有的from字符串替换为to字符串,然后替换后的字符串。
举例:str="123abc",from="abc",to="456",return "123456";
import java.io.*;class test {public static void main (String[] args) throws java.lang.Exception{String aa="sfsf3hkj435-434kjfd--535sdfgs";String result=replace(aa,"435","aaaaaaaaaaaaaaa");System.out.println(result);} public static String replace(String str,String from,String to){ if(str==null||str.equals("")||from==null||from.equals("")){ return str; } char[] strArr=str.toCharArray(); char[] fromArr=from.toCharArray(); int match=0; for(int i=0;i<strArr.length;i++){ if(strArr[i]==fromArr[match]){ match++; if(match==fromArr.length){ clear(strArr,i,fromArr.length); match=0; } }else{ match=0; } } String result=""; String cur=""; for(int i=0;i<strArr.length;i++){ if(strArr[i]!=0){ cur=cur+String.valueOf(strArr[i]); } if(strArr[i]==0&&(i==0||strArr[i-1]!=0)){ result=result+cur+to; cur=""; } } if(!cur.equals("")){ result=result+cur; } return result; } public static void clear(char[] str,int end ,int length){ while(length!=0){ str[end]=0; end--; length--; } } }
0 0
- 字符串之替换字符串中连续出现的指定字符串
- 字符串之替换字符串中连续出现的指定字符串
- 字符串问题---替换字符串中连续出现的指定字符串
- 替换字符串中连续出现的指定字符串
- 替换字符串中连续出现的指定字符串
- 替换字符串中连续出现的指定字符串
- 替换字符串中连续出现的指定字符串
- 5.6 替换字符串中连续出现的指定字符串
- 替换字符串中连续出现的指定字符串
- 替换字符串中连续出现的指定字符串
- 替换字符串中连续出现的指定字符串
- 字符串——替换字符串中连续出现的指定字符串
- 字符串中替换第一次出现的字符串
- 替换指定的字符串
- java判断字符串中某字符出现的位置,并替换指定指定内容
- MFC中替换指定的字符串
- 【面试题】只替换字符串中连续出现2次的地方
- PHP函数 替换指定出现次数的子字符串
- 记录一下:新装AndroidStudio下载sdk后无法启动Android虚拟机
- System类中的currentTimeMillis的使用
- 画田字div,且田左下角拆分上下
- 常遇到的异常
- IOS自动捕获程序崩溃日志再发送邮件提示开发者
- 替换字符串中连续出现的指定字符串
- jquery的位移,页边距整理
- Android 进阶之路 自定义View(一)——初步尝试
- 高仿QQ发送语音界面
- WriteConcern
- 语言基础——Java_十进制数转换成十六进制数的实现
- P问题、NP问题、NPC问题(NP完全问题)、NPH问题和多项式时间复杂度
- PopupWindows(提示框)代码详解
- [poj 3292] Semi-prime H-numbers 筛数