我有一個字符串如我想提取字符串
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+
您只需要在每個提取線下降:
。