AI CS1のjavascriptで下記の様に
エスケープした文字が検索できないのですが、これは仕様でしょうか?
ちょっと変な方法を使うとできたりするのですが、
(ファイルをJEDITで開くとバックスラッシュは円マークで表示されるのですが、
それの円マーク部分をバックスラッシュに置き換えて再保存するとできる)
普通にできる方法は無いのでしょうか?
str='$500'
str=str.replace(/\$/,'ドル');
alert(str);
[15505] AM66 (2013/04/26 Fri 16:06)
記憶が曖昧で恐縮なのですが、CSはUTF-8だとそういうところできちんと動かなかったような覚えがあります。
InDesignCS用のスクリプトはUTF-16で保存しています。←ここだけは覚えています
Illustratorも同じ性質だとしたらそれで解決かも。
[15506] (z-) (2013/04/26 Fri 17:26)
CS1はUTF-8だと全く動かない時もあるんで、CS1用は基本S-JISにしています。
やっぱり仕様な気がしますが、小技で使えるようになるのがちょっと疑問だったので。
ちなみに小技を使ったファイルは文字コードが少しおかしいみたいで
miで開くとエスケープ文字が表示されなかったり、S-JISでは保存させてくれなかったりします。
[15507] AM66 (2013/04/26 Fri 17:42)
> CS1はUTF-8だと全く動かない時もあるんで、CS1用は基本S-JISにしています。
そうですね。ググるとCS1ではS-JISのようにしないと
いけないみたいですね。
> ちなみに小技を使ったファイルは文字コードが少しおかしいみたいで
> miで開くとエスケープ文字が表示されなかったり、S-JISでは保存させてくれなかったりします。
特定のエディタの保存時の挙動云々の話ではないかと思いますので、
エスケープ処理に¥を書かないように、
下記のように手直ししてみては如何でしょう?
var str='$500';
var reg=new RegExp(String.fromCharCode(0x5c)+'$');
str=str.replace(reg,'ドル');
alert(str);
[15514] 流星光輝 (2013/05/01 Wed 16:33) web
CS2用はエスケープ文字を気にせず使えているので、
できれば同じ物をそのまま使いたかったのですがやっぱり難しいようですね。
教えて頂いたやり方を使って変更することにします。
(String.fromCharCodeは知ってはいましたが、使ったことがなかったので思いつきませんでした)
ありがとうございました。
[15515] AM66 (2013/05/02 Thu 09:15)
> CS2用はエスケープ文字を気にせず使えているので、
それはエンコードが違うからですよね?
CS1とCS2で違うのはエンコードなんじゃないですか?
ぶっちゃけ手元のEmEditorでS-JISなら化けたりしませんから、
特定のエディタの挙動を責めたりするのは、
どうかなぁと思ったのです。
まぁ、なんかそういうことです。
[15518] 流星光輝 (2013/05/02 Thu 15:48) web
エディタの挙動に関してどうこう言いたい訳ではないので詳しくは書かなかったのですが、
miでS-JISで保存した物は、
円記号とバックスラッシュのどちらを使ってもエスケープ文字として機能していないのですが、
Jeditで開いて、miからバックスラッシュをコピぺして保存した物は機能するのです。
Jedit上で\キー単体で入力したものも、option+\キーで入力したものもmiと同様に機能しません。
上記の小技で保存したものを再度miで開くと文字化けするんです。
よく分かっていないので原因(解決策)がわかれば良いと思っただけで、miの挙動がおかしいとか思っているわけではありません。
[15519] AM66 (2013/05/02 Thu 16:38)