java替換字符串,java替換字符串指定位置的字符

本文目錄一覽:

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-hant/n/137649.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
DZRR的頭像DZRR
上一篇 2024-10-04 00:17
下一篇 2024-10-04 00:17

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • 英語年齡用連字符號(Hyphenation for English Age)

    英語年齡通常使用連字符號表示,比如 “five-year-old boy”。本文將從多個方面探討英語年齡的連字符使用問題。 一、英語年齡的表達方式 英語中表…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • Python字符轉列表指南

    Python是一個極為流行的腳本語言,在數據處理、數據分析、人工智能等領域廣泛應用。在很多場景下需要將字符串轉換為列表,以便於操作和處理,本篇文章將從多個方面對Python字符轉列…

    編程 2025-04-29
  • Python中將字符串轉化為浮點數

    本文將介紹在Python中將字符串轉化為浮點數的常用方法。在介紹方法之前,我們先來思考一下這個問題應該如何解決。 一、eval函數 在Python中,最簡單、最常用的將字符串轉化為…

    編程 2025-04-29

發表回復

登錄後才能評論