2016-02-10 21 views
0

年底我在一個字符串peregrinevwap^_^_Perl的 - 不能在字符串

print "JH 4 - app: $application \n"; 

app: peregrinevwap^_^_ 

做的最後一些尾隨字符,你知道刪除尾隨字符,爲什麼他們在那裏,我怎樣可以刪除它們。我嘗試了chomp命令,但這沒有奏效。

+0

您在Windows或Linux下運行OS? – Jens

+0

這是在Linux操作系統上運行的 – Jaron787

+0

您在哪編輯過yor腳本? – Jens

回答

2

檢查出tr//cd運算符以擺脫不需要的字符。 它記錄在 「perldoc perlop

$application =~ tr/a-zA-Z//cd; 

將刪除一切,除了從字符串字母和

$application =~ tr/^_//d; 

將刪除所有 「^」 和 「_」 字。

如果您只想在字符串末尾刪除某些字符,請使用s //搜索/替換運算符以及正則表達式和$錨點來匹配字符串的末尾。

下面是一個例子:

s/[\^_]*$//; 

但願下劃線不會在你的字符串的結尾出現,否則你不能自動將它們從這些不想要的字符分開。

+0

這個問題是我的字符串中有「_」:app:ninjak_xlon – Jaron787

0

確定這些字符實際上是^_個字符嗎? ^_也可能表示Ctrl-Underscore,ASCII字符0x1F(單元分隔符)。 (不是一個角色,我見過使用,但你永遠不知道)

如果是這種情況確實是這樣,你可以像刪除:

$application =~ s/\x1F//g;