我有不同的字符串,但格式相同,三个单词之间用空格隔开。目的是删除字符串的第一部分。换句话说,删除每个字符串的前导数据。
什么Perl正则表达式可以使我删除前导数据,同时使其余字符串不受影响?
String 1: Apples Peaches Grapes
String 2: Spinach Tomatoes Carrots
String 3: Corn Potatoes Rice
String 1: Peaches Grapes
String 2: Tomatoes Carrots
String 3: Potatoes Rice
#! /usr/bin/perl
use v5.10.0;
use warnings;
$string1 = "Apples Peaches Grapes";
$string2 = "Spinach Tomatoes Carrots";
$string3 = "Corn Potatoes Rice";
# Apply ReqExp to Delete the First Part of the String
$string1 =~ s/.../;
say $string1;
say $string2;
say $string3;
答案 0 :(得分:1)
$string1 =~ s/^\S+\h+//;
^
字符串的开头\S+
1个或多个非空格字符\h+
1个或更多水平空间如果您使用的Perl版本低于v5.10,则可以使用:
$string1 =~ s/^\S+[ \t]+//;