使用perl拆分带有多个空格的字符串?

shi*_*juo 6 regex perl split

我试图拆分一个带有多个空格的字符串.我只想拆分有2个或更多空格的地方.我尝试了很多东西,并且我一直得到相同的输出,即它在每个字母之后分裂.这是我尝试过的最后一件事

@cellMessage = split(s/ {2,}//g, $message);
                foreach(@cellMessage){
                    print "$_ \n";
                }
Run Code Online (Sandbox Code Playgroud)

Eri*_*rik 13

@cellMessage = split(/ {2,}/, $message);
Run Code Online (Sandbox Code Playgroud)

  • 但这不是真正的空格,只有空格。\ s还会为您提供标签:@cellMessage = split(/ \ s {2,} /,$ message); (2认同)

dls*_*dls 9

保留您在示例中使用的语法我会建议:

@cellMessage = split(/\s{2,}/, $message);
                foreach(@cellMessage){
                    print "$_ \n";
                }
Run Code Online (Sandbox Code Playgroud)

因为你会匹配任何空白字符(制表符,空格等......).原始代码的问题在于split指令正在查找模式,而您提供的正则表达式导致空字符串//,该字符串分成$message单个字符.