導航:首頁 > 編程語言 > 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字元串位置替換相關的資料

熱點內容
企業透明加密軟體有監視功能嗎 瀏覽:492
桌面的運行命令 瀏覽:7
主流廠商伺服器維護流程是什麼 瀏覽:807
壓縮棉的被子先洗洗在用 瀏覽:242
批處理bat代碼和文件夾 瀏覽:296
怎麼交叉編譯tslib14 瀏覽:493
致程序員生產力飆升 瀏覽:760
程序員害怕下班嗎 瀏覽:107
鐵路漢宜線加密網實景效果圖 瀏覽:929
php工作難找 瀏覽:440
微信拼手氣紅包源碼 瀏覽:380
javaexcel公式計算 瀏覽:628
mastercam二維編程 瀏覽:384
加密協議aes和tkip 瀏覽:707
數據結構與演算法彭軍 瀏覽:770
二類app是什麼意思 瀏覽:498
可示教編程的plc 瀏覽:404
好看的個人界面源碼 瀏覽:882
手機加密文件夾解密方法 瀏覽:654
智能門鎖只能添加密碼不能修改 瀏覽:554