2007年01月06日

Javascript:ちょっと便利な String の拡張

String オブジェクト(文字列)のちょっと便利な拡張を4種類。
  1. 文字数のカウント。
  2. 文字列にある全ての文字列 s1 を s2に置き換える。
  3. 文字列を反転させる。
  4. 文字列から数値を全て抜き出す。(文字配列として返す)
どっかのライブラリに似たようなものあるかも知れんけど。ま、いいっしょ。


 ソース

// 文字列 s の数を数える
String.prototype.count = function (s, f){
  var ary = this.match(new RegExp(s, 'g' + (f ? 'i' : '')));
  if(ary) return ary.length; else return 0;
}
// 全ての文字列 s1 を s2 に置き換える
String.prototype.replaceAll = function (s1, s2){
  return this.split(s1).join(s2);
}
// 文字順を反転させる
String.prototype.reverse = function (){
  var t = "";
  for(var i = this.length; i > 0; i--) t = t + this.substring(i - 1, i);
  return t;
}
// 文字列から数値を全て抜き出す(文字配列を返す)
String.prototype.extractNumber = function (){
  return this.match(/\-?[0-9]*\.?[0-9]+/g);
}

 使い方

上記ソースはスクリプトの先頭にでも書いておけば String オブジェクトに追加します。

■ 1.文字列 s の数を数える
ret = String.count(s, flg);
文字列 String にある s の数(number)が ret に入ります。flg は大文字小文字を区別しない場合に true を入れます。(省略可)

サンプル
対象の文字列
検索する文字列大文字小文字を区別しない

■ 2.文字列にある全ての文字列 s1 を s2に置き換える。
ret = String.replaceAll(s1, s2);
文字列 String にある s1 をすべて s2 に置き換えた文字列が ret に入ります。
ま、String.split(s1).join(s2); で良い訳ですがw

サンプル
対象の文字列
置換前文字列置換後文字列

■ 3.文字列を反転させる。
ret = String.reverse();
文字列 String を反転させた文字列が ret に入ります。

サンプル
対象の文字列

■ 4.文字列から数値を全て抜き出す。(文字列の配列として返す)
ret = String.extractNumber();
文字列 String からすべての数値文字列を取り出して配列として ret に入れます。
注意)ドットが2つあると一旦切ります。1.23.4 -> 1.23 と .4

サンプル
対象の文字列

posted by HiFa at 01:43 | 🌁 | Comment(0) | TrackBack(0) | JavaScript雑感 | このブログの読者になる | 更新情報をチェックする
>>> スパムコメントは消してますよん。 お互い無駄な労力は避けましょう。 <<<

この記事へのコメント

コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/30900575
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。