2016-12-25 1889 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(); 
    } 
}