java替换指定位置字符_Java将指定下标位置多个子字符串替换成指定占位符

本文展示了如何在Java中替换指定位置的字符,提供了一个示例代码,使用自定义Token类来定位和替换文本。同时,还介绍了String类的三种替换方法:replace()、replaceFirst()和replaceAll(),分别用于替换全部、第一个匹配和所有匹配的子字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

示例效果:

"my email is foo@bar.com and my number is (213)-XXX-XXXX"

替换成

"my email is [EMAIL_ADDRESS] and my number is [PHONE_NUMBER]"

1、指定位置替换代码import java.util.ArrayList;

import java.util.List;

public class Test {

public static void main(String[] args) {

String text = "my email is foo@bar.com and my number is (213)-XXX-XXXX";

List findings = new ArrayList<>();

//指定要替换的子字符串的范围,及要替换成的占位符

findings.add(new Token(12, 22, "EMAIL_ADDRESS"));

findings.add(new Token(41, 54, "PHONE_NUMBER"));

System.out.println(replace(text, findings));

}

public static String replace(String text, List findings) {

int position = 0;

StringBuilder result = new StringBuilder();

for (Token finding : findings) {

result.append(text.substring(position, finding.start));

result.append('[').append(finding.type).append(']');

position = finding.end + 1;

}

return result.append(text.substring(position)).toString();

}

}

class Token {

int start, end;

String type;

Token(int start, int end, String type) {

this.start = start;

this.end = end;

this.type = type;

}

}

2、字符串替换方法

在Java 中,String 类提供了 3 种字符串替换方法,分别是 replace()、replaceFirst() 和 replaceAll()

1) replace() 方法

replace()方法用于将目标字符串中的指定字符(串)替换成新的字符(串)replace(String oldChar, String newChar)

2) replaceFirst() 方法

replaceFirst()方法用于将目标字符串中匹配某正则表达式的第一个子字符串替换成新的字符串replaceFirst(String regex, String replacement)

3) replaceAll() 方法

replaceAll()方法用于将目标字符串中匹配某正则表达式的所有子字符串替换成新的字符串replaceAll(String regex, String replacement)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值