我有一个像
这样的字符串s1 = "Plug 1:L2SAEJ1772 Plug 2:L2SAEJ1772 Plug 3:L2SAEJ1772";
我想打印它像
Plug 1:L2SAEJ1771
Plug 2:L2SAEJ1772
Plug 3:L2SAEJ1773
有可能吗?如果是的话,请帮助我。
谢谢
答案 0 :(得分:1)
您可以使用前瞻性的正则表达式(这样您就不会“丢失”单词“Plug”):
String[] splitted = s1.split(" (?=Plug)");
for (String s : splitted) {
System.out.println(s);
}
答案 1 :(得分:1)
String s1 = "Plug 1:L2SAEJ1772 Plug 2:L2SAEJ1772 Plug 3:L2SAEJ1772";
s1 = s1.replaceAll( " P", "\nP" );
System.out.println( s1 );
答案 2 :(得分:0)
当你有一个“P”(一个空格和一个P)时你切断了字符串 检查需要正则表达式的s1.split() 或者你可以通过for(int i = 0; i< s1.length(); i ++)查看字符串并检查是否满足条件。
答案 3 :(得分:0)
您的示例需要更改。由于输入字符串不以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
答案 4 :(得分:0)
简单的正则表达式执行技巧:\w+
您只需从每个提取的行中删除:
。