在Java中通过regex从字符串中删除不需要的字符

时间:2015-07-12 04:00:38

标签: java regex

我这里有一个字符串:

javax.swing.JLabel[,380,30,150x25,alignmentX=0.0,alignmentY=0.0]: Hello

我想删除":"之前的所有内容,包括":"本身。这只会留下"Hello"。我读到了关于正则表达式的内容,但没有尝试过的组合。有人可以告诉我该怎么做。提前谢谢!

2 个答案:

答案 0 :(得分:3)

您需要使用y方法或replaceAll

replaceFirst

string.replaceFirst(".*:\\s*", "");

这只会给你string.replaceAll(".*:\\s*", ""); 。如果您删除Hello模式,那么它会为您提供\\s*字符串。

  • <space>Hello贪婪地匹配任何字符零次或多次。
  • .*直到结肠。
  • :匹配零个或多个空格字符。

答案 1 :(得分:1)

您也可以将字符串拆分为:并取第二个字符串。喜欢这个

String sample = "javax.swing.JLabel[,380,30,150x25,alignmentX=0.0,alignmentY=0.0]: Hello";

System.out.println(sample.split(":", -1)[1]);

这将输出

<space>Hello

如果你想摆脱那个领先的空间trim就像

一样
System.out.println(sample.split(":", -1)[1].trim());