« 文字列の検証 | トップページ | XSLT »

2007年5月19日 (土)

文字列操作

dojo.stringには、文字列操作の関数が提供されている。

  • dojo.string.trim(str): 前後の空白文字を除く
  • dojo.string.trimStart(str): 前の空白文字を除く
  • dojo.string.trimEnd(str): 後ろの空白文字を除く
  • dojo.string.repeat(str, count, separator): separatorの文字列を挟んで、strをcount回数繰り返して繋げる
  • dojo.string.pad(str, len, c, dir): str.length
  • dojo.string.padLeft(str, len, c): dojo.string.pad(str, len, c, 1) と同じ
  • dojo.string.padRight(str, len, c): dojo.string.pad(str, len, c, -1) と同じ
  • dojo.string.isBlank(str): strが空白文字列かどうかをtrue/falseで返す
  • dojo.string.capitalize(str): strを全て大文字にして返す
  • dojo.string.escape(type, str): strをtype指定に応じて特殊文字をエスケープする。typeは、xml, html, xhtml, sql, regexp, regex, javascript, jscript, js, asciiのいずれかを指定できる
  • dojo.string.summary(str, len): len文字数以降を切り捨てて、最後に"..."を追加する
  • dojo.string.normalizeNewlines(str, newlineChar): 改行コードを newlineChar に置き換える。newlineCharは'\n'または'\r'のいずれかを指定できる。newlineCharを指定しないと、CRまたはLFをCRLFに置き換える

dojo.string.substituteParams(template, hash)は、テンプレートを指定して文字列を作成する。テンプレート文字列の%{str}の部分を、hash(オブジェクトまたは連想配列)で指定したstrパラメータの値で置き換える。%{0}のように数値で指定したときは、指定した数値+1番目の引数の値に置き換える。指定したパラメータが与えられないときはExceptionを返す。

dojo.require("dojo.string.extras");

var tpla = "This %{string} has %{parameters} %{toReplace}";
dojo.string.substituteParams(tpla, { string: "area", parameters: "foo", toReplace: "bar"});
-->"This area has foo bar"

var tplb = "Passed as arguments: %{0}, %{1}, %{2}.";
dojo.string.substituteParams(tplb, "zero", "one", "two");
-->"Passed as arguments: zero, one, two."

dojo.string.Builder

dojo.string.Builderは、文字列操作をするためのオブジェクトである。コンストラクタの引数には文字列/数値または文字列/数値配列を指定できる。Builderオブジェクトに対して、以下のメソッドを利用して、文字列操作ができる。

  • valueOf(): 文字列を返す
  • toString(): valueOfと同じ
  • append(arg1, arg2, ...): 文字列の最後に全ての引数(文字列または文字列の配列)を追加する
  • clear(): 文字列を空にする
  • replace(str1, str2): 最初に現れたstr1をstr2に置き換える
  • remove(start, length): startからlength文字数の文字列を削除する
  • insert(index, str): index番目に文字列strを追加する
dojo.require("dojo.string.Builder");

var c = new dojo.string.Builder("foo", "bar", ["baz", "thud"]);
c.toString();
-->"foobarbazthud"
c.remove(3, 2);
c.toString();
-->"forbazthud"

« 文字列の検証 | トップページ | XSLT »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/232684/6480162

この記事へのトラックバック一覧です: 文字列操作:

« 文字列の検証 | トップページ | XSLT »