本文目錄一覽:
java中怎麼替換字符串中的
用replace方法
replace()將字符串中所有指定的字符,替換成一個新的字符串
replaceAll()將字符串中某個指定的字符串替換為其它字符串
replaceFirst
()只將字符串中第一次出現的字符串替換為其它字符串
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如何實現替換指定位置的指定字符串的功能
可以使用StringBuffer定義字符串,之後使用replace方法替換指定位置的字符串為指定的字符串內容,如下代碼:
public
class
Demo1
{
public
static
void
main(String[]
args)
{
StringBuffer
buffer
=
new
StringBuffer(“123456”);
System.out.println(buffer.toString());//輸出123456
buffer.replace(0,
1,
“a”);
System.out.println(buffer.toString());//輸出a23456
}
}
這裡簡單介紹一下replace方法的使用,replace方法一共有三個參數,第一個參數是指定要替換的字符串的開始位置,第二個參數是指定要替換的字符串的結束位置(注意這裡的結束位置不包括本身),第三個參數是指定想將字符串替換成什麼內容。
如:原字符串內容為”123456″,現在調用replace(0,
2,
“abc”),原字符串變為”abc3456″
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) {
MapString, String map = findMap(text, text2);
for (EntryString, String entry : map.entrySet()) {
System.out.println(entry.getKey() + ” : ” + entry.getValue());
}
}
public static MapString, String findMap(String text, String text2) {
MapString, 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 : 123
method : update
程序思路:
先按照/把字符串分成幾分,然後找到不一致的,掐頭去尾,就得到結果了。
Java 字符串替換
import java.util.regex.*;
public class RepTest {
public static void main(String[] args) {
String src = “=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,”;
System.out.println(“原串:”+src);
Matcher ma = Pattern.compile(“[^]=”).matcher(src);
while (ma.find()) {
src = src.replaceAll(ma.group(), “”);
}
System.out.println(“替換:”+src);
//其實還有一個思路,你可以拿逗號切成數組,然後對數組元素進行判斷,拿=號切也可以!
}
}
原創文章,作者:DZRR,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/137649.html