导航:首页 > 编程语言 > java字符串位置替换

java字符串位置替换

发布时间:2024-10-26 02:39:48

java 字符串替换

importjava.util.HashMap;
importjava.util.Map;
importjava.util.Map.Entry;

publicclassDemo{

publicstaticvoidmain(String[]args){
print("/user/{method}/{userid}.jsp","/user/update/123.jsp");
}

privatestaticvoidprint(Stringtext,Stringtext2){
Map<String,String>map=findMap(text,text2);
for(Entry<String,String>entry:map.entrySet()){
System.out.println(entry.getKey()+":"+entry.getValue());
}
}

publicstaticMap<String,String>findMap(Stringtext,Stringtext2){
Map<String,String>map=newHashMap();
String[]split=text.split("/");
String[]split2=text2.split("/");
if(split.length!=split2.length){
returnnull;
}
for(inti=0;i<split.length;i++){
if(!split[i].equals(split2[i])){
removePrefix(split,split2,i);
removeSuffix(split,split2,i);
if(split[i].matches("\{.*\}")){
split[i]=split[i].substring(1,split[i].length()-1);
map.put(split[i],split2[i]);
}
}
}
returnmap;
}

privatestaticvoidremovePrefix(String[]arr,String[]arr2,inti){
for(intj=1;j<arr[i].length();j++){
if(!arr2[i].startsWith(arr[i].substring(0,j))){
arr[i]=arr[i].substring(j-1);
arr2[i]=arr2[i].substring(j-1);
break;
}
}
}

privatestaticvoidremoveSuffix(String[]arr,String[]arr2,inti){
for(intj=arr[i].length();j>0;j--){
if(!arr2[i].endsWith(arr[i].substring(j))){
intlength=arr2[i].length()-arr[i].length();
arr[i]=arr[i].substring(0,j+1);
arr2[i]=arr2[i].substring(0,j+1+length);
break;
}
}
}

}
//程序输出
userid:123
method:update

程序思路:

先按照/把字符串分成几分,然后找到不一致的,掐头去尾,就得到结果了。

❷ java怎么把一个字符串中的字符替换成别

先看下概念,最后面有说到修改

一.Java字符串类基本概念

在JAVA语言中,字符串数据实际上由String类所实现的。Java字符串类分为两类:一类是在程序中不会被改变长度的不变字符串;二类是在程序中会被改变长度的可变字符串。Java环境为了存储和维护这两类字符串提供了
String和StringBuffer两个类。
一、创建字符串
例: Stringstr=new("This is a String");

或者 Stringstr="This is a String";

二、得到字符串对象的有关信息
1.通过调用length()方法得到String的长度.
例:

String str="Thisis a String";
int len =str.length();

2.StringBuffer类的capacity()方法与String类的 length()的方法类似,但是她测试是分配给StringBuffer的内存空间的大小,而不是当前被使用了的内存空间。
3.如果想确定字符串中指定字符或子字符串在给定字符串的位置,可以用 indexOf()和lastIndexOf()方法。

String str="Thisis a String";
Int index1 =str.indexOf("i"); //index=2
Intindex2=str.indexOf(‘i‘,index+1); //index2=5
Intindex3=str.lastIndexOf("I"); //index3=15
Intindex4=str.indexOf("String"); //index4=10


三、修改可变字符串
StringBuffer类为可变字符串的修改提供了3种方法,在字符串中间插入和改变某个位置所在的字符。
1.在字符串后面追加:用append()方法将各种对象加入到字符串中。
2.在字符串中间插入:用insert()方法。例

StringBuffer str=new StringBuffer("Thisis a String");
Str.insert(9,"test");
System.out.println(str.toString());


这段代码输出为:Thisis a test String
3.改变某个位置所在的字符,用setCharAt()方法。
StringBuffer sb =new StringBuffer("aaaaaa");

sb.setCharAt(2, “b”);// 结果aabaaa

❸ java中怎么进行字符串替换

使用replace方法

该方法的作用是替换字符串中所有指定的字符,然后生成一个新的字符串,例如:

String s = “abcat”;

String s1 = s.replace(‘a’,‘1’);

该代码的作用是将字符串s中所有的字符a替换成字符1,生成的新字符串s1的值是“1bc1t”,而字符串s的内容不发生改变。如果需要将字符串中某个指定的字符串替换为其它字符串,则可以使用replaceAll方法,例如:

String s = “abatbac”;

String s1 = s.replaceAll(“ba”,“12”);

该代码的作用是将字符串s中所有的字符串“ab”替换为“12”,生成新的字符串“a12t12c”,而字符串s的内容也不发生改变。

字符串在存储上类似字符数组

它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:

长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

❹ Java怎么使用replace替换字符串中的某一位的字符

实现思路:先获取到特定位置的字符,之后直接替换即可
public class strRepalce {
public static void main(String[]args){
//要替换的一个字符串
String str="abcmdf";
//获取指定字符位置 例如取 替换c字符
int i=str.indexOf("c");
//str.charAt(i) 取出指定字符(char类型 无法直接转string) String.valueOf 转换成string类型
String str2=String.valueOf(str.charAt(i));
//X为指定替换字符
str=str.replaceFirst(str2,"X");

System.out.println(str);
}
}

阅读全文

与java字符串位置替换相关的资料

热点内容
加密朋克风 浏览:910
安卓怎么把软件全部置于前台 浏览:634
腰椎解压器价格 浏览:644
编译器生成技术 浏览:752
空调压缩机启停怎么办 浏览:454
android手机diy 浏览:900
哪个app可以记录文字和照片 浏览:651
韩兆琦史记pdf 浏览:360
phppregreplace正则 浏览:105
账户密码忘了怎么办安卓 浏览:403
月轮加密花列个日 浏览:828
选定文件移动到文件夹怎么操作 浏览:953
artturbo编译增强技术 浏览:671
10年程序员直播 浏览:520
加密锁检测深思服务未启动 浏览:442
服务器托管业务怎么选 浏览:744
广州黑马程序员怎么样 浏览:482
qq号加密码图片 浏览:173
如何建立游戏本地服务器 浏览:948
懂车帝app直播怎么开 浏览:26