perl的类Java修剪函数

perl的类Java修剪函数,perl,trim,Perl,Trim,Perl有trim函数吗 我正在寻找Perl中删除0x20以下所有前导字符和尾随字符的函数,就像Java中一样 在对以下字符串调用函数之后 my $string = "\N{U+0020}\N{U+001f}\N{U+001e}\N{U+001d}\N{U+001c}\N{U+001b}\N{U+001a}\N{U+0019}\N{U+0018}\N{U+0017}\N{U+0016}\N{U+0015}\N{U+0014}\N{U+0013}\N{U+0012}\N{U+0011}Hello

Perl有trim函数吗

我正在寻找Perl中删除0x20以下所有前导字符和尾随字符的函数,就像Java中一样

在对以下字符串调用函数之后

my $string = "\N{U+0020}\N{U+001f}\N{U+001e}\N{U+001d}\N{U+001c}\N{U+001b}\N{U+001a}\N{U+0019}\N{U+0018}\N{U+0017}\N{U+0016}\N{U+0015}\N{U+0014}\N{U+0013}\N{U+0012}\N{U+0011}Hello Moto\N{U+0010}\N{U+000f}\N{U+000e}\N{U+000d}\N{U+000c}\N{U+000b}\N{U+000a}\N{U+0009}\N{U+0008}\N{U+0007}\N{U+0006}\N{U+0005}\N{U+0004}\N{U+0003}\N{U+0002}\N{U+0001}\N{U+0000}";
只剩下“Hello Moto”


从中修剪只删除第一个空格(\N{U+0020})。

传统的ASCII方法是使用

$string =~ s/^\s+|\s+$//g;
(即,从字符串的开头(
^
)和结尾(
$
)删除空格(
\s

不是空白,它是一个控件。您可以在正则表达式中使用Unicode属性和
\p

my $drop = qr/[\p{Space}\p{Cc}]+/;
$whitespace =~ s/^$drop|$drop$//g;
或者更详细地说:

$drop = qr/[\p{White_Space}\p{Cntrl}]+/;

您可能应该更改变量的名称。

传统的ASCII方法是使用

$string =~ s/^\s+|\s+$//g;
(即,从字符串的开头(
^
)和结尾(
$
)删除空格(
\s

不是空白,它是一个控件。您可以在正则表达式中使用Unicode属性和
\p

my $drop = qr/[\p{Space}\p{Cc}]+/;
$whitespace =~ s/^$drop|$drop$//g;
或者更详细地说:

$drop = qr/[\p{White_Space}\p{Cntrl}]+/;

您可能应该更改变量的名称。

s/[\x00-\x1F]/g
删除0x20以下的所有字符,但这不是Java的字符串。trim doesOk,我忘了写它只删除\x00-\x1F范围内的前导字符和尾随字符,对吗?谢谢这回答了您的问题吗?
s/[\x00-\x1F]//g
删除0x20以下的所有字符,但这不是Java的字符串所做的。trim doesOk,我忘了写它只删除\x00-\x1F范围内的前导字符和尾随字符,对吗?谢谢这回答了您的问题吗?
$String=~s/^\s+\s+$//g;
您忘记了用第三个斜杠关闭替换项。
$String=~s/^\s+|\s+$//g;
您忘记了用第三个斜杠关闭替换项。