我有一個字符串,如first part;second part
。我想將它拆分爲;
並返回第二部分。一切工作正常:在分隔符上分割一個字符串
start = mystring:find(';')
result = mystring:sub(start)
,但我希望做一個行:
result = mystring:sub(mystring:find(';'))
它不會拋出一個錯誤,但它沒有返回預期的結果。不是一個大問題,因爲它可以在兩行代碼中正常工作,但是理解爲什麼它不在oneliner上工作,這將有助於我更好地理解lua如何工作。
還有什麼神奇的功能,只需將第一個索引傳遞給sub()函數,而無需先將其分配給變量?像'mystring:sub(mystring:find(';')[1])'(這當然不起作用) – ripat 2011-05-17 16:54:13
@ripat lhf已經回答了這個問題。另請看這個頁面:[http://lua-users.org/wiki/SplitJoin](http://lua-users.org/wiki/SplitJoin)。例如,如果您的字符串有兩個以上的部分,您可能會獲得更好的解決方案。 – Zecc 2011-05-18 09:11:22