全角の空白を半角の空白に変換したいのですが・・・

解決


 2010-03-24 14:42:19  No: 38078  IP: [192.*.*.*]

こんにちは。
ひとつ教えて下さい。

文字列sに含まれる全角の空白を全て半角の空白に変換したいのですが、
思うように動いてくれません。
どこが間違いなのか、ご指摘下さい。


while pos('  ',s) > 0 do
  s := StringReplace(s,'  ',' ',[]);
結果、1つも変換されません。

試しに
  showmessage(pos('  ',s));
とした所、0が返ってきました。

よろしくお願いします。

編集 削除
Quest  2010-03-24 14:54:49  No: 38079  IP: [192.*.*.*]

> 文字列sに含まれる全角の空白を全て半角の空白に変換したいのですが、
であれば
s := StringReplace(s,'  ',' ',[rfReplaceAll]);
これ一発でOKだけど・・・。

ちなみにposではなく、AnsiPosではどうでしょう?
AnsiPos('  ',s)

編集 削除
 2010-03-24 15:42:18  No: 38080  IP: [192.*.*.*]

ごめんなさい、タブが入っていました。
タブも半角の空白に変換させみたら、成功しました。

あと、[rfReplaceAll]で全て対象になるのですね。
ありがとうございました。

編集 削除