2014-02-11 63 views
2

我有一些文字,我需要針對有一些領先的點,我發現了一些代碼與單詞和間距之間的作品,但無法得到這個工作的主角。我玩過正則表達式,但它大大減少了一些事情。刪除從文本開始的前導點

以下是我有:

$(document).ready(function(){ 
$('p').each(function() { 
    var $this = $(this); 
    $this.html($this.text().replace(/\b..\b/g, '<span style="display:none">..</span>')); 
    }); 
}); 

http://jsfiddle.net/Xg3Ej/

誰能把我在正確的道路上?

+0

正好兩個點,或任何號碼?順便說一句請參閱這裏瞭解詳情:https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions – doctorlove

回答

7

.在正則表達式特殊的意義,它會匹配任何字符。您需要將其轉義以便正則表達式匹配文字字符\.

$this.text().replace(/^(\.+)/g, '<span style="display:none">$1</span>') 

http://jsfiddle.net/Xg3Ej/6/

+0

+1(但請注意,不需要'g'修飾符)。 – ridgerunner

0

試試這個

這將捕獲的字符串開頭(..)

。 =>表示正則表達式中的單個字符。因此它使用反斜線進行轉義。

例如:

..jfghhfg

$this.html($this.text().replace(/^\.\./g, '<span style="display:none">..</span>')); 

這裏是demo

0

爲什麼不嘗試這種簡單:

$(document).ready(function(){ 
$('p').each(function() { 
    var $this = $(this); 
    $this.html($this.text().replace(/^\.{2}/g, '')); 
    }); 
}); 

小提琴:http://jsfiddle.net/Xg3Ej/9/

1

如果您只想從一開始就使用^刪除字符,也可以使用0123',否則.會匹配任何字符。最後,使用+來表示匹配一個或多個點。

/^\.+/g 
+0

+1(但不需要'g'修飾符。) – ridgerunner