本文目录一览:
- java如何实现替换指定位置的指定字符串的功能
- java怎么替换字符串某个字符
- java怎么把一个字符串中的字符替换成别的字符
- [Java 字符串替换](#Java 字符串替换)
- [java 字符串替换](#java 字符串替换)
- 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怎么替换字符串某个字符
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怎么把一个字符串中的字符替换成别的字符
如何将字符串中的 \
替换成 \\
:
String msgIn;
String msgOut;
msgOut = msgIn.replaceAll("\\\\", "\\\\\\\\");
原因:
\
在 Java 中是一个转义字符,所以需要用两个代表一个。例如System.out.println("\\")
只打印出一个\
。\
也是正则表达式中的转义字符(replaceAll
的参数就是正则表达式),需要用两个代表一个。所以:\\\\
被 Java 转换成\\
,\\
又被正则表达式转换成\
。 同样:CODE: \\\\\\\\
Java: \\\\
Regex: \\
将字符串中的 /
替换成 \
的几种方式:
msgOut = msgIn.replaceAll("/", "\\\\");
msgOut = msgIn.replace("/", "\\");
msgOut = msgIn.replace('/', '\\');
将字符串中的 \
替换成 /
的几种方式:
msgOut = msgIn.replaceAll("\\\\", "/");
msgOut = msgIn.replace("\\", "/");
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);
// 其实还有一个思路,你可以拿逗号切成数组,然后对数组元素进行判断,拿=号切也可以!
}
}
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
方法
replaceAll()
:将字符串中某个指定的字符串替换为其它字符串。
replaceFirst
方法
replaceFirst()
:只将字符串中第一次出现的字符串替换为其它字符串。