Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我要提取字符串_Java - Fatal编程技术网

Java 我要提取字符串

Java 我要提取字符串,java,Java,我有一根像 s1 = "Plug 1:L2SAEJ1772 Plug 2:L2SAEJ1772 Plug 3:L2SAEJ1772"; 我想把它打印出来 Plug 1:L2SAEJ1771 Plug 2:L2SAEJ1772 Plug 3:L2SAEJ1773 Plug 1:L2SAEJ1771 Plug 2:L2SAEJ1772 Plug 3:L2SAEJ1773 可能吗?如果是的话,请帮助我 谢谢您可以将正则表达式与lookahead一起使用(这样您就不会“丢失”单词“Plug”)

我有一根像

s1 = "Plug 1:L2SAEJ1772 Plug 2:L2SAEJ1772 Plug 3:L2SAEJ1772";
我想把它打印出来

Plug 1:L2SAEJ1771

Plug 2:L2SAEJ1772

Plug 3:L2SAEJ1773
Plug 1:L2SAEJ1771
Plug 2:L2SAEJ1772
Plug 3:L2SAEJ1773
可能吗?如果是的话,请帮助我


谢谢

您可以将正则表达式与lookahead一起使用(这样您就不会“丢失”单词“Plug”):


当有一个“p”(一个空格和一个p)时,您可以剪切或拆分字符串 检查s1.split(),它需要正则表达式
或者,您可以遍历for(int i=0;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());
返回


简单的regexp实现了这个技巧
:\w+

您只需从每个提取行中删除

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 );