您的位置:

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);

//其实还有一个思路,你可以拿逗号切成数组,然后对数组元素进行判断,拿=号切也可以!

}

}