java 子串替换_Java中的多个同时子串替换
这种方法有效:
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;
}
}
输出:
my email is [EMAIL_ADDRESS] and my number is [PHONE_NUMBER]
java 子串替换_Java中的多个同时子串替换相关推荐
- java replaceall函数_JAVA中string.replace和string.replaceAll的区别及用法
展开全部 JAVA中string.replace()和string.replaceAll()的区别及用法乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),32 ...
- 选择排序java从小到大代码_java中选择排序与归并排序的内容,详细解析
上次我们已经为大家介绍过java中插入.分治和快速排序的内容,今天再来为大家介绍一下java中选择排序与归并排序的具体内容,并且通过实际的代码为大家解析. 首先我们需要了解的是,选择排序也是一种简单直 ...
- java word 批注_Java 添加、回复、修改(替换)、删除Word批注
批注是一种常用于对特定文档内容进行注解的工具或方法,起到解释说明.标记指正的作用.在本篇文章中,将介绍如何操作Word批注的方法,包括: 1. 添加批注:添加文本到批注.插入图片到批注: 2. 回复批 ...
- java 字符串总结_Java中字符串(String)总结
先说说JDK API: JDK中包含大量的API类库,所谓API(Application Programming Interface,应用程序编程接口,这些功能以类的形式封装). JDK API包含的 ...
- java mod %区别_Java中 % 与Math.floorMod() 区别详解
%为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...
- java show过时_Java中show() 方法被那个方法代替了? java编程 显示类中信
你说的show是swing里的吧,在老版本中Component这个超类确实有show这个方法,而且这个方法也相当有用,使一个窗口可见,并放到最前面.在jdk5.0中阻止了这个方法,普遍用setVisi ...
- java判断类型_Java中类型判断的几种方式 - 码农小胖哥 - 博客园
1. 前言 在Java这种强类型语言中类型转换.类型判断是经常遇到的.今天就细数一下Java中类型判断的方法方式. 2. instanceof instanceof是Java的一个运算符,用来判断一个 ...
- java 序列化实例_Java中的序列化与反序列化实例
创建的字节流与平台无关.因此,在一个平台上序列化的对象可以在另一个平台上反序列化. 为了使Java对象可序列化,我们实现java.io.Serializable可序列化接口. ObjectOutput ...
- java 数据类型分为_JAVA中分为基本数据类型及引用数据类型
byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值 ...
- java 代码锁_Java中的Lock锁
Lock锁介绍: 在java中可以使用 synchronized 来实现多线程下对象的同步访问,为了获得更加灵活使用场景.高效的性能,java还提供了Lock接口及其实现类ReentrantLock和 ...
最新文章
- windows cmd 查看占用端口号PID并且结束进程
- ARKit从入门到精通-ARKit工作原理及流程介绍
- MongoDB学习笔记~官方驱动嵌套数组对象的更新
- Halcon算子盘点:Chapter 16:System
- linux查看系统的日志的一些实用操作
- @capire/common is not needed at runtime at all
- 构造函数属性赋值不用this案例
- java apt怎么用_java – APT和AOP在同一个项目中,使用Maven
- java excel导出 模板_Java Excel 导出 模板
- D3.js 入门系列1 - 简介和安装
- pandas - AttributeError: Series object has no attribute reshape
- AVPlayerViewController支持横屏设置
- java实现ssh_使用纯Java实现一个WebSSH项目
- 财源滚滚的第三方支付牌照
- zblog添加html标题出错,ZBLOG模板修改的一些技巧小结
- perl and LWP 文档
- Python之九宫格输入
- 深圳大澳湾度假团建攻略
- python编写会计凭证金蝶_怎么在金蝶财务软件中录入会计凭证
- 图像处理中,关于对比度,亮度,饱和度这些指标的概念