regex - Perl - 使用正则表达式删除字符串中的第一个单词

标签 regex string perl

我是 Perl 和 reg-ex 的新手,我正在尝试删除字符串中的第一个单词(或文本文件中一行的第一个单词),以及它后面的任何空格。

例如,如果我的字符串是'one two abd123words',我想删除'one '

我尝试的代码是:$line =~/(\S)$/i;
但这只给了我最后的结论。
如果它有什么不同,我试图删除的词是一个输入,并存储为 $arg。

最佳答案

要删除每行的第一个单词,请使用:

$line =~ s/^\S+\s*//;

编辑以获得解释:

s/.../.../            # Substitute command.
^                     # (Zero-width) Begin of line.
\S+                   # Non-space characters.
\s*                   # Blank-space characters.
//                    # Substitute with nothing, so remove them.

关于regex - Perl - 使用正则表达式删除字符串中的第一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8773030/

相关文章:

PHP 过滤文本的禁用词

regex - 如何使用正则表达式捕获每行的第 n 个模式?

java - 字符串的第一个和最后一个字符

javascript - 通过指定开始和结束字符来拆分字符串

perl - 如何使用现有数组作为 Perl 散列中的值?

php - 在 PHP 中只允许某些字符

java - 通过结合前瞻和后视,使用正则表达式在java中分割字符串

python - 用python解析棘手的字符串

linux - 如何在 Perl 脚本中调用函数(在 shell 脚本中定义)

mysql - 为什么 Apache 提示我的 mod_perl 程序 "disconnect invalidates 1 active statement handle"?