文字列置換

OpenLaszloのJavascriptでは文字列置換のreplace()がありません。

2010/2/10にOpenLaszlo4.6.1でreplace()使えることに気づきました・・・。でもこれだと文中に置換対象語句が複数あっても最初の一個しか置換しないので、全部置換するにはサンプルのようにsplit()とjoin()使ったほうが良いです。

split()とjoin()が使えるので、それらを組み合わせてreplace()を作ってしまえばOK。

<method name="replace" args="text,from,to">
  return text.split(from).join(to);
</method>

この内容を表示するためには Adobe Flash Plugin が必要です。

<?xml version="1.0" encoding="UTF-8"?>
<canvas bgcolor="0xeeeeee" proxied="false"> 
 
<method name="replace" args="text,from,to">
  return text.split(from).join(to);
</method>
 
<simplelayout />
<text name="txt">あい上お</text>
<button>「上」を「うえ」に置換
  <handler name="onclick">
     var tmp = canvas.replace(txt.text,"上","うえ");
     txt2.setText(tmp);
  </handler>
</button>
<text name="txt2"/>
 
</canvas>