2017-03-07 85 views
4

字符串的第一個字符。假設我有一個字符串在Lua:獲取LUA

> s = "abc123" 

我想s1這是隻有S的第一個字符,或空,如果s是空的。

我使用

> s1 = s[1] 

> s1 = s[0] 

試過我怎樣才能得到第一個字符,而無需使用外部Lua庫

但兩者只能返回nil

+1

使用 「字節」 功能:S:字節(1)串庫](http://lua-users.org/wiki/StringLibraryTutorial) –

+0

@MikeV。好主意,但只適用於非Unicode字符串。 's =「ö」; s:byte(1)== 195; s:byte(2)== 164' –

+0

@MikeV。但是'string.sub()'也不適用於unicode :-) –

回答

4

您可以使用string.sub()得到長度爲1的字符串:

> s = "abc123" 
> string.sub(s, 1, 1) 
a 

這也適用於空字符串:

> string.sub("", 1, 1) -- => ""