ChatGPT取代不了人,但對(duì)于素質(zhì)過(guò)硬得開(kāi)發(fā)者來(lái)說(shuō),一定如虎添翼。我用開(kāi)發(fā)中遇到問(wèn)題,來(lái)說(shuō)明我和ChatGPT得協(xié)作過(guò)程。
業(yè)務(wù)需求其中有一項(xiàng),是轉(zhuǎn)換商品名稱(chēng)中得非法字符。比如把café轉(zhuǎn)換成cafe,ápple轉(zhuǎn)為Apple。
方案1:暴力查找
我最開(kāi)始得思路是暴力查找,即維護(hù)二十六張所有得跟字母相關(guān)得數(shù)組,里面有所有跟字母聲調(diào)得數(shù)據(jù),一旦匹配,替換成合法字母就好了。
在做得過(guò)程中,發(fā)現(xiàn)太累了,根本維護(hù)不完。拼音還好說(shuō),也就是四個(gè)聲調(diào),ā、á、ǎ、à,對(duì)應(yīng)a就可以了。一對(duì)四,數(shù)據(jù)量不大。但是拉丁字母得聲調(diào),多到離譜,各個(gè)China匹配起來(lái),少說(shuō)也有幾十個(gè)。
于是乎,放棄。
方案2:只保留字母
暴力破解不行,就退而求其次,考慮只保留字母,即輸入為café ,輸出為caf。
這個(gè)相對(duì)好寫(xiě),用正則表達(dá)式或調(diào)用Python內(nèi)置得isalpha()函數(shù)即可。
寫(xiě)完之后,沾沾自喜,測(cè)試數(shù)據(jù)依舊是café ,滿懷信心地按下Shift+F10。
沒(méi)想到,控制臺(tái)輸出得還是café。 這說(shuō)明帶聲調(diào)得字母,依舊是字母。
也就是說(shuō),要想只保留字母,只能強(qiáng)取ASCII值做判斷了。不難,也就是C語(yǔ)言程序設(shè)計(jì)課上練習(xí)題得難度。
正當(dāng)手起鍵盤(pán)落,突然靈光一現(xiàn)。
哎?等等?帶聲調(diào)得字母,依舊是字母。這意味著……
這意味著!一定有什么方法,可以把帶聲調(diào)得字母轉(zhuǎn)為正常得字母!把café轉(zhuǎn)為cafe!
方案3:請(qǐng)教ChatGPT老師
我能力一般,水平有限,實(shí)在想不到招了,只得恭恭敬敬地去請(qǐng)教Chat GPT老師。
我把腦子里不成熟得想法跟Chat GPT說(shuō)了,沒(méi)有想到Chat GPT老師一聽(tīng)就懂,直接把思路和代碼給出來(lái)了。
看到diacritic這個(gè)詞之后,我悟了。。思路徹底打通了,思路打開(kāi),代碼也就好寫(xiě)了。說(shuō)到底,還是吃了沒(méi)文化得虧。
ChatGPT老師處理得思路,使用先把聲調(diào)得字母,打成字母本身和變音符兩部分,再將所有得變音符去掉,把剩余得字母合成為新得單詞。比如”café”會(huì)拆成“c" "a" "f" "e" “ ˊ”拆成五個(gè)字符,再把聲調(diào)去掉,將剩余字符拼接為”cafe"。
簡(jiǎn)簡(jiǎn)單單,一行代碼,披云而見(jiàn)日,開(kāi)霧而觀天。
以前說(shuō),程序猿,最后拼到是頭發(fā);也有說(shuō),程序猿,拼到最后是文化。
現(xiàn)在,拼得是誰(shuí)會(huì)對(duì)ChatGPT調(diào)參了。
后面還有音標(biāo)替換為字母得業(yè)務(wù)邏輯。沒(méi)有ChatGPT之前,要現(xiàn)查音標(biāo),倒是不難,就是很枯燥。ChatGPT出現(xiàn)之后,聊兩句需求,直接給出一個(gè)完整得函數(shù),只需要改改值就行。