我想查找一些標點符號並將它們與空格連接起來。查找和連接字符串
例如: 如果找到任何標點符號,我想在它們的前面和末尾添加空格。
$line =~ s/[?%&!,.%*\[◦\]\\;@<>{}#^=\+()\$]/" $1 "/g ;
我嘗試使用在PHP中,我們可以使用$1
$
,但沒有奏效。 我在網上搜索並找不到Perl語法?
此外,我怎樣才能保留...
作爲一個單一的令牌?
什麼是我的問題的真正語法。
我想查找一些標點符號並將它們與空格連接起來。查找和連接字符串
例如: 如果找到任何標點符號,我想在它們的前面和末尾添加空格。
$line =~ s/[?%&!,.%*\[◦\]\\;@<>{}#^=\+()\$]/" $1 "/g ;
我嘗試使用在PHP中,我們可以使用$1
$
,但沒有奏效。 我在網上搜索並找不到Perl語法?
此外,我怎樣才能保留...
作爲一個單一的令牌?
什麼是我的問題的真正語法。
你需要圍繞匹配模式與()
把它捕捉到$1
$line =~ s/([?%&!,.%*\[◦\]\\;@<>{}#^=\+\(\)\$])/ $1 /g;
編輯(按OP的評論)
我怎麼能保持」 .. '單個令牌?
一種方法是恢復該令牌的更改。
$line =~ s/ \. \. \. /.../g;
使用此:
#!/usr/bin/perl -w
use strict;
my $string = "For example; If i found any puncs. above list, i want to add spaces to front and end of token.";
$string =~ s/([[:punct:]])/ $1 /g;
print "$string\n";
輸出:
For example ; If i found any puncs . above list , i want to add spaces to front and end of token .
/ /
- 我剛用「標點符號」替換所有標點符號。
它的工作,謝謝... – Yilmazerhakan
@Yilmazerhakan不客氣!很高興它的工作。 – jkshah
感謝解決方案,那麼我如何保存'...'單個令牌? - @jkshah – Yilmazerhakan