2011-07-25 1 views
1

文字列から«または»のいずれかを削除して、残りのテキストをjavaScriptに残そうとしています。«または»をJavaScriptの文字列から削除する

は効果なしにこれを試してみました:

txt = txt.replace('«','').replace('»', ''); 

をしかし、私はあなたの正規表現が正確であるため、これがポイントだと思いますので、念のためにしないでください:

$('body').delegate('.SearchPagination > a', 'click', function(e){ 
    e.preventDefault(); 
    var $this = $(this), 
     txt = $this.text().toLowerCase(), 
     txt = txt.replace(/«|»/g, ''), 
     txt = $.trim(txt), 
     page = '&page='; 
     console.log(txt); 
    if (txt === 'next' || txt === 'previous'){ 
     // get the current page value 
     var active = $this.parent().find('.active').txt(); 
     if (txt === 'next'){ 
      // add one 
      page += (active + 1); 
     } else if (txt === 'previous'){ 
      // subtract one 
      page += (active - 1); 
     } 
    } else { 
     // invoke search with the page number 
     page += txt; 
    } 
    console.log(page); 
    //icisSite.icisSearch.search(page); 
}); 
+1

: ' "«テスト»" .replace(/ « | »/gで、 '')'。あなたの正規表現は間違っていません。 – pimvdb

答えて

4

の代わりに& laquo;正規表現で、ブラウザに表示されている左矢印文字、つまり«記号をコピーして貼り付けてみてください。私はそれを試して、それが正しく置き換えられました。
だからあなたの正規表現は次のようになります - これは正常に動作

txt = txt.replace(/«|»/g, '') 
1

あなたが試してみました(あなたは正規表現が正しいと思う)、最初にhtmlentitiesがエンコードされたときに、そのページがUTF-8でエンコードされていて、エンコードされていないと表示されているのではないかと疑問に思うでしょうか?

+0

こんにちは。私はページがそれに達する前にエンコードされていると思うので、失敗するのは«または»と一致していないということです。両方とも文字列に<< and >として出力されています。どのように進行するかがちょっとわかりません。 – RyanP13

関連する問題