2016-12-25 230 views
-1

我需要根据正则表达式从任何字符串中识别一个子字符串。正则表达式匹配冒号后的字符串“:”

例如,采取以下字符串:

  1. 它发送运送货物的通知:USERNAME1
  2. 发送递送货物的通知:用户没有找到,而UserName2
  3. 它发送收到货物的通知:USERNAME1
  4. 它发送收到货物的通知:未找到用户,而UserName2

我想冒号后的文字

  1. USERNAME1
  2. 未找到用户,而UserName2
  3. USERNAME1
  4. 未找到用户,而UserName2

回答

0

您可以像使用正则表达式这个:

":(.*)" 

那你呢, LD使用这样的一个(关于Java):

Matcher m = Pattern.compile(":(.*)").matcher(text); 

if (m.find()) 
{ 
    System.out.println(m.group(1)); 
} 
+0

是有办法做到这一点,因此排除了结肠?所以对于一些东西:价值,我想它会返回“价值” –

+0

@丹黑斯廷斯,你试过我发布的代码吗?它不包括冒号。 –

+0

对我来说,它在开始时返回带冒号的字符串 –

0
import java.util.regex.Matcher; import java.util.regex.Pattern; 

public class MatchColon { 

    private Pattern pattern; 
    private Matcher matcher; 

    private static final String MATCHCOLON_PATTERN = 
     ":(.*)"; 

    public MATCHCOLON(){ 
     pattern = Pattern.compile(MATCHCOLON_PATTERN); 
    } 

    public boolean validate(final String colon){ 
     matcher = pattern.matcher(colon); 
     return matcher.matches(); 
    } 
}