EA Server 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
17967 | 02/08/15 17:35:37 | RE(1):文字列操作について←会議室が違ったようです、すみませんでした By みんみん |
17951 | 02/08/15 10:58:09 | 文字列操作について By みんみん |
日付:2002年08月15日 10:58 発信者:みんみん
題名:文字列操作について
ご存知の方がいらしたら教えて下さい。
文字列を分割する処理を行う際、以下のような現象が起きます。
(PowerBuilderのバージョンは7.0.2c3cです)
60バイトある文字列を15バイトづつ分割しようとしています。
LenとLenW関数によって15バイト目が全角か半角の判定を行い、パターン分けしていますが
14?15バイト目にまたがる全角文字によって分割がうまくできません。
例:’1234567890123行目’の場合、’1234567890123行’と’目’に分割できる
’1234567890123件目’の場合、’1234567890123件’は表示されるが
’目’が表示されない
ロジック(抜粋):
CASE 16 TO 30
IF Len( Mid( s_data, 15, 1 ) ) = LenW( Mid( s_data, 15, 1 ) ) THEN
IF Len( Mid( s_data, 30, 1 ) ) = LenW( Mid( s_data, 30, 1 ) ) THEN
/*半角・半角*/
s_data1 = LeftC( s_data, 15 )
s_data2 = MidC( s_data, 16, 15 )
ELSE
/*半角・全角*/
s_data1 = LeftC( s_data, 15 )
s_data2 = MidC( s_data, 16, 15 )
END IF
ELSE
IF Len( Mid( s_data, 30, 1 ) ) = LenW( Mid( s_data, 30, 1 ) ) THEN
/*全角・半角*/
s_data1 = LeftC( s_data, 16 )
s_data2 = MidC( s_data, 17, 14 )
ELSE
/*全角・全角*/
s_data1 = LeftC( s_data, 16 )
s_data2 = MidC( s_data, 17, 14 )
END IF
END IF
以上、宜しくお願い致します。
付加情報:
Client SoftWare
OS Windows 2000
DBMS Oracle SQL*Net 8
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.