ルアにはstring.find
しかありませんが、いつかはstring.rfind
が必要です。このようstring.rfind
を書くためにどのようにLuaでstring.rfindを実装する方法
fullpath = "c:/abc/def/test.lua"
pos = string.rfind(fullpath,'/')
dir = string.sub(fullpath,pos)
:たとえば、のようなディレクトリとファイルのパスを解析するには?
ルアにはstring.find
しかありませんが、いつかはstring.rfind
が必要です。このようstring.rfind
を書くためにどのようにLuaでstring.rfindを実装する方法
fullpath = "c:/abc/def/test.lua"
pos = string.rfind(fullpath,'/')
dir = string.sub(fullpath,pos)
:たとえば、のようなディレクトリとファイルのパスを解析するには?
あなたはstring.match
使用することができます。
/
UPDATEに一致する前に、できる限り一致するようにここでのパターンで
fullpath = "c:/abc/def/test.lua"
dir = string.match(fullpath, ".*/")
file = string.match(fullpath, ".*/(.*)")
は、
.*
は、貪欲です
@Egor Skriptunoffが指摘しているように、これはより良い:
dir, file = fullpath:match'(.*/)(.*)'
Yu &エゴールの答えが働いています。
pos = #s - s:reverse():find("/") + 1
これは、同じ結果与える: 'のPOS =秒:マッチ」を。 *()/ '' –
DIR、ファイル=フルパス:検索を使用して別の可能性は、文字列逆転するだろう試合を '(。* /)(。*)' –