java - 如何使用java使用正则表达式替换特定子字符串

标签 java regex

我有一个字符串如下

   when 
   $Event:com.abc.Event(description == "abc")
   then
   logger.info("description"); 

我需要将上面的字符串替换为下面的

   when
   $Event:com.abc.Event(description == "abc") from entry-point "EventStream"
   then
   logger.info("description"); 

遇到的时候也是这样

when
$Alarm:com.abc.Alarm(description == "abc")
then
logger.info("alarm description");

我需要进行如下更改

when
$Alarm:com.abc.Alarm(description == "abc") from entry-point "AlarmStream"
then
logger.info("alarm description");

我想使用贪婪匹配的正则表达式替换字符串。 请为我提供一些指导以实现同样的目标。

最佳答案

简单的解决方案不用担心正则表达式,而是使用 Strings 方法包含。 创建一个 Scanner 对象,逐行解析字符串并将结果添加到字符串缓冲区。

if(line.contains("$Event:com.abc.Event(description == "abc")"){
  sb.append(line + "from entry-point \"EventStream\" ");
} else if(line.contains("$Alarm:com.abc.Alarm(description == \"abc\")") {
 sb.append(line + "from entry-point \"AlarmStream\" ");
}else {
 sb.append(line);
}

关于java - 如何使用java使用正则表达式替换特定子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7191219/

相关文章:

java - 如何在Eclipse中使用SVN进行推送

Java泛型——删除概念

java - Hibernate不会自动创建表,但是当创建表时,它会将值插入表中

javascript - 正则表达式替换除数字和小数点以外的所有内容

正则表达式与grep - 匹配未知数量的字母字符?

ruby-on-rails - 正则表达式忽略以下划线开头的单词或文件开头的路径

java - 盖乐世 Note 4 模拟器

java - 如何处理类名中的首字母缩略词?

java - 尝试简化复杂的正则表达式

python - 正则表达式中的可选点