ChatGPTのお陰で長年の悩みが色々解決してる
TVでも大騒ぎしてるのでChatGPTのことは皆さんも知ってると思います。俺もこういうの嫌いじゃないのでけっこう愛用しています。いろんな使い方があるけど俺的に一番助かってるのがちょっとしたプログラムの作成です。今まで簡単だけどマイナー過ぎてググっても出てこなかったプログラムの書き方をすぐに回答してくれるんですChatGPTは。まじで凄い。
今日も助けられて感動したのでその例を載せてみます。
困りごと:ヨーロッパの文字の上につく謎の記号を削除したい
フランス語、ドイツ語を筆頭にヨーロッパ諸国の住所や人名は基本的にアルファベットだけどたまに謎の変なマークが付きます。
っていうのか?
こんな感じの謎記号。
海外通販やっててヨーロッパのお客様の住所や氏名に度々登場するんです。そしてグレートなアメリカ企業であるフェデックス社の伝票発行システムはこれらの文字を一切受け入れしません。
漢字とかハングル文字とかなら解るけどáなんてaでいいじゃんかー、って思うけどフェデックス社は認めません😅
PHPプログラムで一文字づつイタチごっこで消してた
フェデックス伝票発行システムにはCSVで発送先データを読み込ませます。そのCSVはお客さんの住所と元に書き出す自作プログラムを経由してます。なので、以下のように一文字づつ変換してました。
$str=str_replace("â","a",$str);
$str=str_replace("ë","e",$str);
$str=str_replace("ê","e",$str);
$str=str_replace("ô","o",$str);
$str=str_replace("î","i",$str);
$str=str_replace("û","u",$str);
もっとオシャレな書き方あると思うけど(配列使うとか)、伝票つくりながらいきなり新しい特殊文字がでてきてエラー発生するんで、この部分はダサいプログラムの書き方です。一体このたぐい何種あるんだろ? 一度Wikiで調べたけど多すぎで事前に網羅するのは無理でした。だから、イタチごっこで毎回一つづつ潰してる。今のところこんくらい↓
Á à â ä ă Ā ã æ Č ç ď Đ é è ê ë ē Ģ í ì î Ī Ķ Ĺ ľ Ļ ł ń ň Ņ ó ò ô ö Ø ŕ ř Ś š ș ß ť ț ú ù û ü Ū ų x ý ż ž
PHPプログラムで一発で変換できないのかググったけど探せなかった
以上の馬鹿らしい作業を2年くらい続けてた。もちろんプログラム書いた当初はこれらのアルファベットっぽい謎文字をアルファベットに一括で変換する方法を模索しました。めっちゃググったけど探せずでした。こんなマイナーなことで困っている人はそんなに居ないのかも。そもそも検索ワードが間違っていたかもだし、日本語じゃない言語で探せばあったかもしれない。けど結局ググっても駄目で上記の」「一文字づつ虱潰しダサい作戦」をとったわけです。ま、自分しか使わないプログラムなので医者の不養生的なあれです。
そしてChatGPTに聞いたら一発で解決した
こんなダサいプロンプトでも的確に答えてくれました。
はい、以下のようにPHPで文字の一括変換ができます。
$string = "âëêôîûéäöüÄÖÜšížČÁàèéîìòóùáäčďéíľňóôŕšťúýžÁÄČĎžÉÍĹxŇÓÔŔŠŤÚÝŽ°ßŚłųžířšščáíúĐãśØçșțăâîēĀČĒĢĪĶĻŅŠŪŽāčēģīķņšūŁżńøøæ"; $from_encoding = "UTF-8"; $to_encoding = "ASCII//TRANSLIT";
$converted_string = iconv($from_encoding, $to_encoding, $string);
echo $converted_string;このコードは、UTF-8からASCIIに変換するためにiconv関数を使用します。ASCII//TRANSLITオプションを使用すると、ASCIIに変換できない文字は似たようなASCII文字に変換されます。
実行結果は以下
aeeoiueaouAOUsizCAaeeiioouaacdeilnoorstuyzAACDzEILxNOORSTUYZ?ssSluzirsscaiuDasOcstaaieACEGIKLNSUZacegiknsu?Lznooae
すげーーーーー。これこれ!まさにこれ🤣🤣
ってことでアホみたい無い長くてダサいプログラムがわずか数行で解決
知ってることを補完するには最高のセンセイ
以下はツイッターにも書いたやつ。アメリカのお客さんにトルザイトとAGSの違いを聞かれた。ChatGPTも釣り道具のことはさすがにあんまり詳しくない。けど世界的な企業の製品だから試しに聞いてみたら完璧な答え。
俺の問い
釣り竿のガイドについて教えてください。ダイワのAGSガイドとフジのトルザイトリングについて、それぞれの特徴を教えてください。
ChatGPTの答え
釣り竿のガイドは、釣り糸を流れるように誘導し、抵抗を減らしてスムーズなキャストやリトリーブを可能にする重要な部品です。ダイワのAGSガイドとフジのトルザイトリングは、それぞれ高性能なガイドとして知られています。
ダイワのAGSガイドは、高機能なカーボン素材の繊維でできており、非常に軽量でありながら強度があります。また、独自の設計により、釣り糸がガイドを通過する際の摩擦を減らし、キャストやリトリーブの際により遠く・正確に投げることができます。AGSガイドは、竿のブランクスに接着剤を使わずに取り付けられるため、釣り竿の感度を高め、釣り人が魚の動きをより正確に感じ取ることができます。
一方、フジのトルザイトリングは、高品質のセラミックスを使用しているため、摩耗に強く、釣り糸がスムーズに通過することができます。また、トルザイトリングは軽量で、竿を軽くバランスよく保つことができます。フジのトルザイトリングは、竿の先端部分に設置されることが多く、感度の高い竿であっても、リングの重量による影響が少ないため、魚の動きをより正確に感じ取ることができます。
どちらのガイドも、高性能で信頼性があり、竿の性能を最大限に引き出すことができます。選択する場合は、釣り竿の用途や個人の好みに応じて選ぶことが重要です。
これを更に英語にしてもらってお客さんへメールした(ChatGPTの答えだと補足した)
ChatGPTはとんでもない嘘つくこともよくある。特にマイナーなことは。だから、全く知らないことを聞くのはちょっと危険な気がします。けど、自分がある程度知ってることに対してのまとめとか要約とかは本当に凄いです。
プログラムみたいに答えがはっきりしてるものにも強い。もちろんプログラムが全部思い通りに動くわけじゃないですがググるよりは遥かに早く正解にたどり着ける。
これ以外にも短いプログラム作りや英語の長文の要約なんかで凄い助かってます。道具は使いようとはよく言ったもの。この先もっともっと賢く便利になるだろうだからいやーまじでこれは大革命ですね。
カテゴリ:日記・携帯更新