String:trimR() "trimRight()"

説明

文字列の右側の空白(0x20)を取り除きます。trimR()のパラメーターには元の文字列(String)、結果を格納するStringオブジェクトの順番で指定します。なお、結果を格納するEEPROM側のリミットはかけてありませんので、場合によっては保存済みの内容を上書きしてしまうことがありますので注意してください。

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

// String: trimR(src,dst)
// 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;
};
}
// trimR "trimRight"
function trimR(src,dst){
var e=0,c;
while(e<32768){
c=src.charAt(e);
sleep(10); // Wait
if (c==0){break;}
e=e+1;
}
e=e-1;
while(e>0){
c=src.charAt(e);
sleep(10); // Wait
if(c==0){dst.set(0,0);sleep(10);}
if(c!=0x20){break;}
e=e-1;
}
var cnt=0;
while(cnt<e+1){
c=src.charAt(cnt);
sleep(10); // Wait
dst.set(cnt,c);
sleep(10); // Wait
cnt=cnt+1;
}
dst.set(cnt,0);
}
// Sample Code
var src=new String(0);
var dst=new String(2*2048);
trimR(src,dst);

目次に戻る