Ticket #37510

文字操作関連マクロの2バイト文字操作中の不具合について

Eröffnet am: 2017-09-14 13:00 Letztes Update: 2019-12-25 13:48

Auswertung:
(Anonym)
Verantwortlicher:
Typ:
Status:
Offen [Owner assigned]
Komponente:
Meilenstein:
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Accepted
Datei:
Keine
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

マクロのstrsplit 関数で、文字列を分割していますが、 全角文字を分割すると、うまく分割できない場合があります。

「あああ|いいい|ポポポポ」という文字を「|」で分割すると 「ポ」の下位バイト(7C)が「|」と一致してしまい、意図したとおりの 分割が出来ませんでした。

マクロ側の2バイト対応や、Unicode対応の予定はないでしょうか。

Ticket-Verlauf (3/5 Historien)

2017-09-14 13:00 Aktualisiert von: None
  • New Ticket "文字操作関連マクロの2バイト文字操作中の不具合について" created
2019-12-23 15:13 Aktualisiert von: None
Kommentar

直っているように見えます。

ソース

xxx = 'あああ|いいい|ホホホホ'
strsplit xxx '|' 3
sendln '# xxx           =[' xxx ']'
sendln '# groupmatchstr1=[' groupmatchstr1 ']'
sendln '# groupmatchstr2=[' groupmatchstr2 ']'
sendln '# groupmatchstr3=[' groupmatchstr3 ']'
sendln '# groupmatchstr4=[' groupmatchstr4 ']'
sendln '# groupmatchstr5=[' groupmatchstr5 ']'
int2str sr result
sendln '#         result=[' sr ']'

結果

$ # xxx           =[あああ|いいい|ホホホホ]
$ # groupmatchstr1=[あああ]
$ # groupmatchstr2=[いいい]
$ # groupmatchstr3=[ホホホホ]
$ # groupmatchstr4=[]
$ # groupmatchstr5=[]
$ #         result=[3]
(Edited, 2019-12-25 12:00 Aktualisiert von: doda)
2019-12-23 15:15 Aktualisiert von: None
Kommentar

TeraTerm Version4.105です。

(匿名) への返信

直っているように見えます。
ソース
xxx = 'あああ|いいい|ホホホホ'
strsplit xxx '|' 3
sendln '# xxx =[' xxx ']'
sendln '# groupmatchstr1=[' groupmatchstr1 ']'
sendln '# groupmatchstr2=[' groupmatchstr2 ']'
sendln '# groupmatchstr3=[' groupmatchstr3 ']'
sendln '# groupmatchstr4=[' groupmatchstr4 ']'
sendln '# groupmatchstr5=[' groupmatchstr5 ']'
int2str sr result
sendln '# result=[' sr ']'

結果
$ # xxx =あああ|いいい|ホホホホ
$ # groupmatchstr1=あああ
$ # groupmatchstr2=いいい
$ # groupmatchstr3=ホホホホ
$ # groupmatchstr4=[]
$ # groupmatchstr5=[]
$ # result=3

2019-12-25 11:57 Aktualisiert von: doda
  • Details Updated
2019-12-25 13:48 Aktualisiert von: doda
  • Verantwortlicher Update from (Keine) to doda
  • Lösung Update from Keine to Accepted
  • Meilenstein Update from (Keine) to Tera Term 5.0
Kommentar

(匿名) への返信

直っているように見えます。

元のチケットには誤りが有って、2バイト目が '|' なのは 'ホ' ではなくて 'ポ' ですね。(チケットの詳細は修正しました)

strsplit xxx '|' 3

strsplit で最大数を指定すると、最後(3番目)は分割が行われず残りすべてが入ります。

この二つの要因で問題が出ていないように見えてしまっています。

  • 分割対象を 'あああ|いいい|ポポポポ' にする
  • strsplit xxx '|' のように最大数を指定しない

という変更を行うと問題が残っている事が確認できると思います。

Dateianhangliste

Keine Anhänge

Bearbeiten

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Anmelden