2012-03-22 78 views
0

我有一个字符串如我想提取字符串

s1 = "Plug 1:L2SAEJ1772 Plug 2:L2SAEJ1772 Plug 3:L2SAEJ1772"; 

我想打印它像

Plug 1:L2SAEJ1771 

Plug 2:L2SAEJ1772 

Plug 3:L2SAEJ1773 

这可能吗?如果是,那就帮我。

感谢

回答

1
String s1 = "Plug 1:L2SAEJ1772 Plug 2:L2SAEJ1772 Plug 3:L2SAEJ1772"; 
s1 = s1.replaceAll(" P", "\nP"); 
System.out.println(s1); 
1

您可以使用前瞻正则表达式(这样,你不“输”字“即插即用”):你砍那里有一个“P时分割字符串

String[] splitted = s1.split(" (?=Plug)"); 
for (String s : splitted) { 
    System.out.println(s); 
} 
0

“(空格和P) 检查s1.split()需要正则表达式 或者你可以通过一个for(int i = 0; i < s1.length(); i ++)中的字符串并检查条件得到满足。

0

您的示例需要更改。当输入字符串不以7172结束,73

String s1="Plug 1:L2SAEJ1771 Plug 2:L2SAEJ1772 Plug 3:L2SAEJ1773"; 
    Pattern p = Pattern.compile("Plug\\s\\d:\\w*\\b"); 
    Matcher m = p.matcher(s1); 
    while(m.find()) 
     System.out.println(m.group()); 

回报

Plug 1:L2SAEJ1771 
Plug 2:L2SAEJ1772 
Plug 3:L2SAEJ1773 
0

简单的正则表达式做的伎俩:\w+

您只需要在每个提取线下降: