247 lines
13 KiB
HTML
247 lines
13 KiB
HTML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
|
|
<!-- generated by to_html.pl from string.xml -->
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|
<title>文字列に対する操作</title>
|
|
<meta name="author" content="W.Dee" />
|
|
<meta http-equiv="Content-Style-Type" content="text/css" />
|
|
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
<link href="browser.css" type="text/css" rel="stylesheet" title="吉里吉里関連リファレンス用標準スタイル" />
|
|
<link href="mailto:[email protected]" rev="Made" />
|
|
<link href="index.html" target="_top" rel="Start" title="トップページ" />
|
|
</head>
|
|
<body>
|
|
<h1><a id="id331" name="id331">文字列に対する操作</a>
|
|
</h1><div class="para"><div>
|
|
TJS2 では、文字列は擬似的に <a id="id332" name="id332" class="targanchor"><dfn>String</dfn></a> クラスのオブジェクトということになっていますが、String クラスは存在していませんし、実際に String クラスのオブジェクトというわけではありません ( ただし 文字列に対して typeof 演算子を使うと "String" を返します )。<br />
|
|
しかし 文字列をオブジェクトと見立てて、いくつかのメソッドやプロパティが使用可能になっています。<br />
|
|
</div></div>
|
|
<h1><a id="id333" name="id333">length</a>
|
|
</h1><div class="para"><div>
|
|
length プロパティは、文字列の長さを返します。メソッドではなくてプロパティですので注意してください。ただし、このプロパティへの値の代入はできません。<br />
|
|
<br />
|
|
TJS では内部的に文字をすべて <a id="id334" name="id334" class="targanchor"><dfn>UNICODE</dfn></a> で扱っていますので、全角文字も 1 文字、半角文字も 1 文字と数えられます。<br />
|
|
|
|
<br />
|
|
<code class="bq"><span class="weak">例:</span><br /> var str = "abc漢字";<br />
|
|
var n = str.length; <span class="comment">// n には 5 が代入される</span><br />
|
|
var n = "abc漢字".length; <span class="comment">// これも同じく 5 が代入される</span><br />
|
|
</code>
|
|
<br />
|
|
|
|
</div></div>
|
|
<h1><a id="id335" name="id335">'数値' プロパティ</a>
|
|
</h1><div class="para"><div>
|
|
数値をプロパティとして間接指定すると、その文字位置にある文字にアクセスできます。<br />
|
|
たとえば、str が文字列あるいは文字列を表す式だとすると、str[0] は先頭の一文字を表す文字列になります。<br />
|
|
数値が文字列よりも長い位置や、負の場合は例外が発生します ( ただし文字列の最後の文字は 空文字 が返されます )。<br />
|
|
<br />
|
|
代入式を生成することはできません。<br />
|
|
|
|
<br />
|
|
<code class="bq"><span class="weak">例:</span><br /> var str = "abcdef";<br />
|
|
var c = str[0]; <span class="comment">// 'a' が c に代入される</span><br />
|
|
var c = str[2]; <span class="comment">// 'c' が c に代入される</span><br />
|
|
str[3] = 'A'; <span class="comment">// 代入式は生成できないのでエラーになる</span><br />
|
|
var c = str[100]; <span class="comment">// c 値が範囲外なのでエラーになる</span><br />
|
|
var c = str[6]; <span class="comment">// 空文字 '' が代入される</span><br />
|
|
</code>
|
|
<br />
|
|
|
|
</div></div>
|
|
<h1><a id="id336" name="id336">charAt</a>
|
|
</h1><div class="para"><div>
|
|
charAt メソッドは、文字列の指定位置で指定された位置の文字を返します。 '数値' プロパティと同様の動作をしますが、範囲外の場合は常に空文字列を返します (例外を出しません)。<br />
|
|
|
|
<br />
|
|
<code class="bq">構文 : charAt(<文字位置>)<br />
|
|
</code>
|
|
<br />
|
|
|
|
|
|
<br />
|
|
<code class="bq"><span class="weak">例:</span><br /> var str = "abcdef";
|
|
var c = str.charAt(3); <span class="comment">// 'd' が c に代入される</span></code>
|
|
<br />
|
|
|
|
</div></div>
|
|
<h1><a id="id337" name="id337">indexOf</a>
|
|
</h1><div class="para"><div>
|
|
indexOf メソッドは、部分文字列の位置を返します。<br />
|
|
|
|
<br />
|
|
<code class="bq">構文 : indexOf(<部分文字列>[,<検索開始位置>])<br />
|
|
</code>
|
|
<br />
|
|
|
|
文字列から、<部分文字列> を<検索開始位置>から検索し、最初に見つかった位置を返します。 0 が返されれば文字列の先頭です。-1 が返されたときは見つからなかったときです。<検索開始位置>を省略すると、文字列の先頭からの検索になります。<br />
|
|
<br />
|
|
|
|
<br />
|
|
<code class="bq"><span class="weak">例:</span><br /> var str = "abcdefghijkl";<br />
|
|
var n = str.indexOf("fgh"); <span class="comment">// n には 5 が代入される</span><br />
|
|
var n = str.indexOf("xyz"); <span class="comment">// n には -1 が代入される</span><br />
|
|
</code>
|
|
<br />
|
|
|
|
</div></div>
|
|
<h1><a id="id338" name="id338">toLowerCase</a>
|
|
</h1><div class="para"><div>
|
|
このメソッドに引数はありません。<br />
|
|
toLowerCase は、文字列のアルファベットを小文字にした文字列を返します。<br />
|
|
全角文字は変換されません。<br />
|
|
<br />
|
|
これらのメソッドは、もとの文字列には影響を与えません。<br />
|
|
|
|
<br />
|
|
<code class="bq"><span class="weak">例:</span><br /> var lwr="ABCDEF".toLowerCase(); <span class="comment">// lwr には "abcdef" が代入される</span><br />
|
|
</code>
|
|
<br />
|
|
|
|
<br /><div class="note"><div class="notehead"><span class="noteheadspan">Note</span></div>
|
|
現バージョンの TJS2 では 文字コード 0x80 未満の文字に対してのみ変換を行います。<br />
|
|
</div><br />
|
|
</div></div>
|
|
<h1><a id="id339" name="id339">toUpperCase</a>
|
|
</h1><div class="para"><div>
|
|
このメソッドは toLowerCase と逆で、小文字のアルファベットを大文字にした文字列を返します。<br />
|
|
</div></div>
|
|
|
|
<h1><a id="id340" name="id340">substring</a>
|
|
</h1><div class="para"><div>
|
|
substring メソッドは、文字列の部分文字列を返します。<br />
|
|
|
|
<br />
|
|
<code class="bq">構文 : substring(<開始文字位置>[,<文字数>])</code>
|
|
<br />
|
|
|
|
文字列の、<開始文字位置>から<文字数分>の部分文字列を返します。元の文字列に影響は与えません。<文字数> を省略すると、<開始文字位置> 以降の文字列がすべて返されます。<br />
|
|
JavaScript の同メソッドとは引数の意味が違うので注意してください。<br />
|
|
|
|
<br />
|
|
<code class="bq"><span class="weak">例:</span><br /> var ss="abcdefghijkl".substring(3,3); <span class="comment">// ss には "def" が代入される</span></code>
|
|
<br />
|
|
|
|
</div></div>
|
|
<h1><a id="id341" name="id341">substr</a>
|
|
</h1><div class="para"><div>
|
|
substring と同じです。<br />
|
|
</div></div>
|
|
<h1><a id="id342" name="id342">sprintf</a>
|
|
</h1><div class="para"><div>
|
|
sprintf メソッドは、文字列を書式化します。<br />
|
|
|
|
<br />
|
|
<code class="bq">構文 : sprintf(引数, 引数, ....)<br />
|
|
</code>
|
|
<br />
|
|
|
|
文字列を書式文字列と見なし、C言語における sprintf 同様のテキストのフォーマッティングを行った文字列を返します。元の文字列には影響を与えません。<br />
|
|
|
|
<br />
|
|
<code class="bq"><span class="weak">例:</span><br /> var formatted = "%04X %c %5d".sprintf(v1, v2, dic[v1]);</code>
|
|
<br />
|
|
|
|
</div></div>
|
|
|
|
<h1><a id="id343" name="id343">replace</a>
|
|
</h1><div class="para"><div>
|
|
replace メソッドは、文字列の置き換えを行います。<br />
|
|
|
|
<br />
|
|
<code class="bq">構文 : replace(<パターン>, <置き換え後文字列>)</code>
|
|
<br />
|
|
|
|
正規表現パターンに従って文字列の置き換えを行い、置き換えを行ったあとの文字列を返します。元の文字列には影響を与えません。<br />
|
|
動作については <a target="main" class="jump" href="regexp.html">RegExp クラス</a> の replace メソッドを参照してください。<br />
|
|
</div></div>
|
|
<h1><a id="id344" name="id344">split</a>
|
|
</h1><div class="para"><div>
|
|
split メソッドは、文字列を分割します。<br />
|
|
|
|
<br />
|
|
<code class="bq">構文 : split(<パターン/デリミタ集合>, <(予約)>, <空の要素を無視するか=false>)</code>
|
|
<br />
|
|
|
|
文字列を分割した結果が格納された配列オブジェクトを返します。<br />
|
|
<br />
|
|
<a target="main" class="jump" href="array.html">Array クラス</a> の split メソッドも参照してください (引数の順番に注意してください)。<br />
|
|
</div></div>
|
|
<h1><a id="id345" name="id345">escape</a>
|
|
</h1><div class="para"><div>
|
|
escape メソッドは、文字列を、TJSの文字列即値内で表現可能な形式に変換します。\ や " などの記号はすべて \ 記号を用いて特殊な用途として解釈されなくされます (エスケープされます)。<br />
|
|
|
|
<br />
|
|
<code class="bq">構文 : escape()</code>
|
|
<br />
|
|
|
|
エスケープされた文字列を返します。元の文字列には影響を与えません。<br />
|
|
<br />
|
|
|
|
<br />
|
|
<code class="bq"><span class="weak">例:</span><br /> var escaped = str.escape(); <span class="comment">// str 中の " は \" に、\ は \\ に変換されるなど</span><br />
|
|
</code>
|
|
<br />
|
|
|
|
</div></div>
|
|
<h1><a id="id346" name="id346">trim</a>
|
|
</h1><div class="para"><div>
|
|
trim メソッドは、文字列の先頭と最後の空白を取り除いた文字列を返します。元の文字列には影響を与えません。<br />
|
|
先頭と最後の空白とは、文字コードがU+0001~U+0020の文字を指します。つまり、ASCII制御文字なども含まれますが、いわゆる全角の空白は含みません。<br />
|
|
連続して先頭または最後にこれらの空白があった場合は、すべて取り除かれます。<br />
|
|
|
|
<br />
|
|
<code class="bq">構文 : trim()</code>
|
|
<br />
|
|
|
|
先頭と末尾の空白文字が削除された文字列を返します。元の文字列には影響を与えません。<br />
|
|
<br />
|
|
|
|
<br />
|
|
<code class="bq"><span class="weak">例:</span><br /> var str = " Hoge ".trim(); <span class="comment">// str は "Hoge" です。</span><br />
|
|
</code>
|
|
<br />
|
|
|
|
</div></div>
|
|
<h1><a id="id347" name="id347">reverse</a>
|
|
</h1><div class="para"><div>
|
|
reverse メソッドは、文字の並びを逆転した文字列を返します。元の文字列には影響を与えません。<br />
|
|
現バージョンのTJS2では、UTF-16のうちサロゲートペアを含む文字列の動作は保証しません。<br />
|
|
|
|
<br />
|
|
<code class="bq">構文 : reverse()</code>
|
|
<br />
|
|
|
|
文字の並びを逆転した文字列を返します。元の文字列には影響を与えません。<br />
|
|
<br />
|
|
|
|
<br />
|
|
<code class="bq"><span class="weak">例:</span><br /> var str = "Hoge".reverse(); <span class="comment">// str は "egoH" です。</span></code>
|
|
<br />
|
|
|
|
</div></div>
|
|
<h1><a id="id348" name="id348">repeat</a>
|
|
</h1><div class="para"><div>
|
|
repeat メソッドは、指定した回数だけ文字列を繰り返した文字列を返します。元の文字列には影響を与えません。<br />
|
|
|
|
<br />
|
|
<code class="bq">構文 : repeat(count)</code>
|
|
<br />
|
|
|
|
count個、この文字列を繰り返した文字列を返します。元の文字列には影響を与えません。<br />
|
|
<br />
|
|
|
|
<br />
|
|
<code class="bq"><span class="weak">例:</span><br /> var str = "Hoge".repeat(3); <span class="comment">// str は "HogeHogeHoge" です。</span></code>
|
|
<br />
|
|
|
|
</div></div>
|
|
|
|
<script type="text/javascript" charset="UTF-8" src="documentid.js" ></script>
|
|
<script type="text/javascript" charset="UTF-8" src="postcontent.js" ></script>
|
|
</body>
|
|
</html>
|