❶ 如何在java中交換兩個字元串中的字元
用StringBuffer,輸出的時候轉成String
StringBuffer[] a=new StringBuffer[2];
a[0]=new StringBuffer("hello");
a[1]=new StringBuffer("nihao");
char c=a[0].charAt(1);
a[0].setCharAt(1, a[1].charAt(1));
a[1].setCharAt(1, c);
System.out.println(a[0].toString());
System.out.println(a[1].toString());
❷ java字元串置換
import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;public class Demo { public static void main(String[] args) { print("/user/{method}/{userid}.jsp", "/user/update/123.jsp"); } private static void print(String text, String text2) { Map<String, String> map = findMap(text, text2); for (Entry<String, String> entry : map.entrySet()) { System.out.println(entry.getKey() + " : " + entry.getValue()); } } public static Map<String, String> findMap(String text, String text2) { Map<String, String> map = new HashMap(); String[] split = text.split("/"); String[] split2 = text2.split("/"); if (split.length != split2.length) { return null; } for (int i = 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]); } } } return map; } private static void removePrefix(String[] arr, String[] arr2, int i) { for (int j = 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; } } } private static void removeSuffix(String[] arr, String[] arr2, int i) { for (int j = arr[i].length(); j > 0; j--) { if (!arr2[i].endsWith(arr[i].substring(j))) { int length = 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 : 123method : update程序思路:
先按照/把字元串分成幾分,然後找到不一致的,掐頭去尾,就得到結果了。
❸ java中怎麼進行字元串替換
i、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的內容也不發生改變。
如果只需要替換第一個出現的指定字元串時,可以使用replaceFirst方法,例如:
String s = 「abatbac」;
String s1 = s. replaceFirst (「ba」,「12」);
該代碼的作用是只將字元串s中第一次出現的字元串「ab」替換為字元串「12」,則字元串s1的值是「a12tbac」
❹ java字元串調換
有不明白的可以問我,望採納
❺ 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對當前兩個字元串內容進行互換
String temp=null;
temp = s1;
s1=s2;
s2=temp;
❼ java,關於字元串數組的調換問題
string a,b,c;
交換a,b
c=a;
a=b;
b=c;
❽ 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