A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> 文字列「あいうえお」があるとしてchop関数を使うと「あいうえ」となるのでしょうか。
Perlのバージョンと、状況とによります。
5.8.0 以降で、マルチバイト文字の一文字をきちんと認識するように
なっていれば、"あいうえお" を chop すると きちんと "あいうえ" になります。
一番簡単な例だとこんな感じです。
use strict;
use warnings;
use encoding 'sjis';
my $str = 'あいうえお';
print $str, '→';
chop $str;
print $str, "(", join(':', unpack('H2'x (length($str)*3), $str)), ")\n";
実行結果:
あいうえお→あいうえ(e3:81:82:e3:81:84:e3:81:86:e3:81:88)
ちなみに use encoding 'sjis'; の行をコメントアウトすると出力は
あいうえお→あいうえ・82:a0:82:a2:82:a4:82:a6:82::::::::::::::::::)
のようになります。
この場合は、一文字を正しく認識していないので、'お'の後ろ半分を
ぶった切ってしまっています。
No.1
- 回答日時:
文字列の最後尾の1バイトを削除します。
通常は文字列の最後尾の改行コードを取り除くのに使いますが、改行コードが入っていないと、最後の1バイトを削除します。通常2バイトで1文字の日本語の文字列でこれをやられると、改行コードの入っていない場合には最後の1文字が文字化けします。
chopよりもchompを使う方が安全です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) Excelについて質問です(ver2019) 1 2023/06/30 21:20
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- PostgreSQL 数値が定期的にあらわれる文字列から、いくつめに出現した数値が指定して切り出したい 1 2023/06/08 13:12
- Excel(エクセル) LEFT関数で文字数を指定しないで取りだす方法 7 2023/06/30 09:49
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Visual Basic(VBA) VBA B列にある前から10文字のみ表示 3 2023/08/07 11:24
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Malformed UTF-8 character
-
Perlで Right関数に近い処理を...
-
Perlの文字列置換について
-
「ー」を削除するとスカラーの...
-
splitの逆の処理
-
Perlで入力項目の英数字を全て...
-
掲示板の管理者画面でログイン...
-
パイソンエラーについて
-
英数字のみ全角から半角に変換
-
CSVファイルの中で、「 , 」カ...
-
入力された文字列が、LD22000を...
-
VBA 置換文字がみつからない時
-
EXCELからCSVにすると余計なカ...
-
VBA 文字に半角が含まれて...
-
CString から LPCTSTRの型に変換
-
エクセルで数値を全角文字(カ...
-
文字コードの%E3%80%とは何です...
-
【abc】に【完全一致】する正規...
-
csvデータのダブルクォーテーシ...
-
ハングルを日本語に置換
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パイソンエラーについて
-
Malformed UTF-8 character
-
GDBでデバッグするとき文字列の...
-
文字列と数字を含むセルから数...
-
Perl/Tk使用時のUTF-8コード文...
-
日本語文字列の指定長(byte)切出し
-
数字を文字列に変換し短縮化する
-
splitの逆の処理
-
Perl(Windows)の文法について
-
Perlで Right関数に近い処理を...
-
perlを使用しての特定行抽出に...
-
トリッププログラム!?
-
関数chop
-
正規表現での文字の抜き出し
-
プログラミング HSPの変数につ...
-
ワイルドカード処理
-
TRUE、FALSEと言う文字で、1、0...
-
VBA split(文字列, ★) ★←複数...
-
perlでのURL判定
-
カートの送料設定を2個まで1個...
おすすめ情報