2012-09-03 3 views
32

コロンの場合は、Javascriptの相対的な新人で、文字列の最後の文字を削除する方法を探します。Javascript:コロンの場合は最後の文字を削除します。

私が知っているのはmyString = myString.replace('/^\\:/');ですが、$の文字をスワップする方法がわかりません...行の最後に...誰でも修正できますか?

おかげ

答えて

61

正規表現リテラル(/.../)は、文字列であってはなりません。文字列の先頭にコロンを除去するためにコードを修正、あなたが得る:

myString = myString.replace(/^\:/, ''); 

は、文字列の末尾にコロンを一致させるには、その前に代わり^のコロンの後に$を置く:

myString = myString.replace(/\:$/, ''); 

することもでき、それはプレーンな文字列操作を使用して行います。

if (myString.charAt(myString.length - 1) == ':') { 
    myString = myString.substr(0, myString.length - 1); 
} 
+0

詳細な答えをありがとう。新人として、私はエスケープ文字としてバックスラッシュを使用することについて理解していますが、 'replace'ステートメントにいくつの前方/バックスラッシュがあるのでしょうか? – neil

+0

@neilf:slahses '/.../'は正規表現リテラルです。正規表現の中には、コロン文字をエスケープするバックスラッシュがあるので、それはリテラル文字として解釈され、その式では特別な意味を持ちません。 (私は上記のコードを修正しました。文字列に 'new regex( '^ \\:')'というパターンをエスケープするための二重バックスラッシュがありました。元のコードは正規表現のリテラルと正規表現の文字列) – Guffa

+0

私は '/.../'形式を認識していませんでした。バックスラッシュのみです - 説明してくれてありがとう。 – neil

16

それはEOLに一致するように正規表現の終わりにする必要があります$文字列

+0

ああ、私は最後にそれを持っていたが、あまりにも多くのスラッシュ...多くの感謝 – neil

0

の末尾にあるときに、これは:を削除します

myString = myString.replace(/:$/, ''); 

で簡単にしてみてください。

/:$/

関連する問題