2012-06-24 35 views
0

字符串中刪除Twitter的名字,我想從這樣的字符串中刪除所有的Twitter暱稱(@xxx):如何從與正則表達式

喜@xxx和@yyy和@zzz。

我想得到一個字符串,將只包含(嗨和和)。

+0

什麼正則表達式引擎? –

回答

2

PHP:

$text = preg_replace('/(\s+|^)@\S+/', '', $Text); 

的Perl:

$text =~ s/(\s+|^)@\S+//g; 

可選擇使用\w+(字字符),而不是\S+(非空白字符)。

+2

也許'\ w +'是一個更好的選擇,否則你會修剪掉標點符號! – Ashe

1

使用PHP,你可以使用preg_replace功能:

<?php 
    $str = "Hi @xxx and @yyy and @zzz."; 
    echo preg_replace('/@\w+/', '', $str); 
?> 

/@\w+/將在符號後面跟一個詞一個搜索。

對於找到的每個名稱,只需將其替換爲空字符串即可。

+0

這會弄亂字符串可能包含的任何電子郵件,您應該確保@不是電子郵件地址的一部分。 – Addison

0

的Ruby版本的代碼:

/\A[^@]+\z/