我有一个字符串如我想提取字符串
s1 = "Plug 1:L2SAEJ1772 Plug 2:L2SAEJ1772 Plug 3:L2SAEJ1772";
我想打印它像
Plug 1:L2SAEJ1771
Plug 2:L2SAEJ1772
Plug 3:L2SAEJ1773
这可能吗?如果是,那就帮我。
感谢
我有一个字符串如我想提取字符串
s1 = "Plug 1:L2SAEJ1772 Plug 2:L2SAEJ1772 Plug 3:L2SAEJ1772";
我想打印它像
Plug 1:L2SAEJ1771
Plug 2:L2SAEJ1772
Plug 3:L2SAEJ1773
这可能吗?如果是,那就帮我。
感谢
String s1 = "Plug 1:L2SAEJ1772 Plug 2:L2SAEJ1772 Plug 3:L2SAEJ1772";
s1 = s1.replaceAll(" P", "\nP");
System.out.println(s1);
您可以使用前瞻正则表达式(这样,你不“输”字“即插即用”):你砍那里有一个“P时分割字符串
String[] splitted = s1.split(" (?=Plug)");
for (String s : splitted) {
System.out.println(s);
}
“(空格和P) 检查s1.split()需要正则表达式 或者你可以通过一个for(int i = 0; i < s1.length(); i ++)中的字符串并检查条件得到满足。
您的示例需要更改。当输入字符串不以71
,72
结束,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
简单的正则表达式做的伎俩:\w+
您只需要在每个提取线下降:
。