String:substr()

説明

指定した位置から指定した文字数分だけ文字列を抜き出します。substr()のパラメーターには抜き出す元の文字列(String)、結果を格納するStringオブジェクト、開始位置、抜き出す長さの順番で指定します。なお、開始位置に負数は指定できないので注意が必要です。また、結果を格納するEEPROM側のリミットはかけてありませんので、場合によっては保存済みの内容を上書きしてしまうことがありますので注意してください。

[以下のJavaScriptプログラムをダウンロード]

// String: substr(src,dst,start,length)
// String(adrs)
function String(a){
this.adrs=a; // EEPROM Address
this.set=function(idx,n){ // Set Char
var adrs=this.adrs+idx; // EEPROM Address+Index
i2cw(0x50|(((adrs>>16)&1)<<2), (adrs&0xff00)>>8,adrs&0xff,n&0xFF);
};
this.charAt=function(idx){ // Get Char
var c,adrs=this.adrs+idx; // EEPROM Address+Index
var d=0x50|(((adrs>>16)&1)<<2);
i2cw(d,(adrs&0xff00)>>8,adrs&255);
i2cr(d,c);
return c;
};
}
// substr
function substr(src,dst,start,length){
var s=start,cnt=0;
while(s<(start+length)){
var c=src.charAt(s);
sleep(10); // Wait
if(c==0){break;}
dst.set(cnt,c);
sleep(10); // Wait
cnt=cnt+1;
s=s+1;
}
dst.set(cnt,0);
}
// Sample Code
var src=new String(0);
var dst=new String(1*2048);
substr(src,dst,3,5);

目次に戻る