文字列の追加・挿入・置換・削除

CharacterDataオブジェクトはTextノード、Commentノード、CDATASectionノードからなり、文字列を格納するオブジェクト。以下の専用プロパティとメソッドで文字列を操作できる。

dataプロパティ

ノードの文字列内容(キャラクタデータ)を取得する。Commentノードでは<!--と-->で囲われた文字列を、CDATASectionノードではCDATASection内の文字列を取得。

lengthプロパティ

ノードに含まれる文字数を返す。

substringData()メソッド

・(書式)取り出された文字列=CharacterDataオブジェクト.substringData(取り出す開始位置,取り出す文字数)
・テキスト内容の指定位置(0から始まる)から指定数の文字列を返す。指定数が文字範囲を超える場合は末尾まで。

appendData()メソッド

・(書式)戻り値なし=CharacterDataオブジェクト.appendData("追加する文字列")
・末尾に文字列を追加する。

insertData()メソッド

・(書式)戻り値なし=CharacterDataオブジェクト.insertData(挿入位置,"挿入する文字列")
・指定位置に文字列を挿入する。

replaceData()メソッド

・(書式)戻り値なし=CharacterDataオブジェクト.replaceData(置換開始位置,置換される文字数,"置換後文字列")
・指定範囲の文字列を置換する。文字数を0にして置換すると、その位置に挿入される。

deleteData()メソッド

・(書式)戻り値なし=CharacterDataオブジェクト.deleteData(削除開始位置,削除文字数)
・指定範囲の文字列を削除。

[サンプルHTML文書を表示](下のフレームに)

XMLソース

<?xml version="1.0" encoding="Shift_JIS" ?>
<root>
<title>文字列の追加・挿入・置換・削除</title>
<data>これはテストですばい!</data>
</root>

HTMLソース

<SCRIPT language="JavaScript"><!--
function Test(){
var xmlobj=new ActiveXObject("MSXML2.DOMDocument");
xmlobj.async=false;
xmlobj.load("data01.xml");
var targetNode=xmlobj.selectSingleNode("//data").firstChild; //Textノードを取得
sp1.innerHTML='元のTextノードの内容は:"<font color=red>' + targetNode.data + '</font>"/文字数は:' + targetNode.length;
sp2.innerHTML=targetNode.substringData(3,3);
targetNode.appendData("(05/4/28)");
targetNode.insertData(3,"文字列編集の");
targetNode.replaceData(9,3,"実験"); //"テスト"を"実験"に置換
targetNode.deleteData(13,3);
sp3.innerHTML='編集後のTextノード内容は:"<font color=red>' + targetNode.data + '</font>"/文字数は:' + targetNode.length;
}
//--></SCRIPT>
</HEAD>
<BODY>
<button onclick="Test()">文字列操作のテスト</button>
<div>元の文字列内容と文字数は<hr><span id="sp1"></span></div>
<div>4番目から3文字取得:<hr><span id="sp2"></span></div>
<div>文字列の追加・挿入・置換・削除後は:<hr><span id="sp3"></span></div>

end(05/4/28)