gpt4 book ai didi

perl - 消除不可见字符 perl

转载 作者:行者123 更新时间:2023-12-04 14:47:44 25 4
gpt4 key购买 nike

我有一个正在从另一个脚本的 STDOUT 读入的 perl 变量:

$var = `someScript.sh`
print $var <---- Prints "somestring"

但是,该变量包含的不仅仅是“somestring”。变量前面还有 15 个字符(特殊和非特殊但隐藏)在我打印时不显示。
length($var)  <--- Returns a number 10-15 larger than "somestring" has chars

我可以像这样消除特殊字符:
$var =~ s/[^[:print:]]+//g

但是,一旦删除了特殊字符,似乎也会显示非特殊字符:
print $var   <---- Displays "0;<hostname>somestring" 
(where <hostname> is the system hostname)

有没有办法消除隐藏的特殊字符和非特殊字符?我希望能够使用 $var 作为散列的键,然后通过“somestring”引用它
$hash{$var} = 123
print $hash{'somestring'}

想法?

最佳答案

我们可以假设您要删除的字符在不可打印字符之前吗?

如果是这样,也许像

$var =~ s/.*[^[:print:]]+//;

可以工作吗?

关于perl - 消除不可见字符 perl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12138320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com