java字符串替换,java字符串替换最后一位

发布时间:2023-01-10

本文目录一览:

1、java如何实现替换指定位置的指定字符串的功能 2、java 字符串替换 3、java中怎么替换字符串中的 4、Java 字符串替换

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) {
        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 : 123
method : update

程序思路: 先按照/把字符串分成几分,然后找到不一致的,掐头去尾,就得到结果了。

java中怎么替换字符串中的

用replace方法 replace()将字符串中所有指定的字符,替换成一个新的字符串 replaceAll()将字符串中某个指定的字符串替换为其它字符串 replaceFirst()只将字符串中第一次出现的字符串替换为其它字符串

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);
        //其实还有一个思路,你可以拿逗号切成数组,然后对数组元素进行判断,拿=号切也可以!
    }
}