麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > 綜合 > 正文

Lua判斷字符串前綴是否為指定字符的3種方法

2024-07-21 23:04:38
字體:
供稿:網(wǎng)友

在寫 lua debugger 的時(shí)候,我需要判斷一個(gè)字符串的前綴是不是 "@" 。

有三個(gè)方案:

1.比較直觀的是 string.sub(str,1,1) == "@"
2.感覺效率比較高的是 string.byte(str) == 64
3.或者是 string.find(str,"@") == 1

我推薦第三種。(注:在此特定運(yùn)用環(huán)境下。因?yàn)橛糜谂卸?source 的文件名,大多數(shù)情況都是 @ 開頭。如果結(jié)果為非,則性能較低)

第一方案 string.sub 會(huì)在生成子串的時(shí)候做一次字符串 hash ,感覺效率會(huì)略微低一些。

第二方案效率應(yīng)該是最好,但是需要記住 @ 的 ascii 碼 64 。如果前綴是多個(gè)字符也不適用。

性能對(duì)比測試:

復(fù)制代碼 代碼如下:

string.find(sb, "@") == 1 3.671
string.find(sb, "^@") ~= 1 3.735
string.byte(sa) == 64 2.14
string.char(string.byte(sb)) == "@" 4.375
string.sub(sb,1,1) == "@" 2.766
sb[1] == "@" 0.984

 

要想解決不以@開頭時(shí)的性能問題,可以改成這樣:

復(fù)制代碼 代碼如下:

string.find(str,"^@") == 1

 

 
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 成人男女啪啪免费观看网站四虎 | 国产精品成人一区二区三区吃奶 | 一级免费在线 | 成人在线精品视频 | 欧美一级性 | 国产精品久久久久久久久岛 | 自拍偷拍999 | 免费一级毛片在线播放视频老 | 看毛片免费 | 黄色网址在线免费 | 精品三区视频 | 国产免费让你躁在线视频 | 国产成人精品区一区二区不卡 | 一级黄色免费大片 | 黄色av网 | 国产噜噜噜 | 91久久99热青草国产 | 成人h视频在线 | 午夜爽爽爽男女免费观看hd | 99精品电影 | 在线成人一区二区 | 久久91亚洲人成电影网站 | 国产一级一片免费播放 | 久久国产成人精品国产成人亚洲 | 日本中文不卡视频 | 视频一区二区三区在线播放 | 久久久久性 | 99欧美视频 | 日本网站在线看 | av日韩一区二区 | 精品久久999| 国产精品久久久久久久久久久久午夜 | 999精品久久久 | 一级黄色国产视频 | v天堂在线视频 | 精品黑人一区二区三区国语馆 | 91精品国产福利尤物免费 | 日本视频在线免费观看 | 天天透天天狠天天爱综合97 | 最新欧美精品一区二区三区 | 黄色网址电影 |