❶ 如何在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