我需要对字符串进行简单的拆分.
字符串是 "That.Awkward.Moment.2014.720p.BluRay.x264.YIFY.srt"
我只需要"That.Awkward.Moment.2014.720p.BluRay.x264.YIFY"没有".srt"
我试过这个并且错了:
print(string.match("That.Awkward.Moment.2014.720p.BluRay.x264.YIFY.srt", '^.-.s'))
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
我有一个函数,用于用几个字符或数字替换一些单词。我string.gsub()以这种方式使用函数:
string.gsub(line, "[0-9%a%s/,-]+", "\t")
Run Code Online (Sandbox Code Playgroud)
这对于包含数字、字母、空格,、 和 的字符串非常有效/。我也想替换像(和这样的括号)。但是简单地插入()到我的模式中是行不通的。我也尝试过%(,%)但没有成功。如何在string.gsub()方法中使用模式替换 Lua 中的括号?
不应该("bar"):find("(foo)?bar")回来1, 3?
print(("bar"):find("(foo)*bar"))并且print(("bar"):find("(foo)-bar"))也不会工作.
我试图弄清楚如何通过使用Lua附加'k'或'm'将大量数字格式化为较短的版本。例:
17478 => 17.5k
2832 => 2.8k
1548034 => 1.55m
Run Code Online (Sandbox Code Playgroud)
我想在那里以及根据示例进行四舍五入。我对Regex不太好,所以我不确定从哪里开始。任何帮助,将不胜感激。谢谢。
这就是我试图从外观中提取的内容:http://pastebin.com/VD0K3ZcN
lines:match([[title="(value here)">]])
Run Code Online (Sandbox Code Playgroud)
我怎样才能获得"价值"?它里面没有数字或">"符号,只有字母,空格,' - 和.
我试过了
lines:match([[title="(.+)">]])
Run Code Online (Sandbox Code Playgroud)
但它只是在捕获后得到整条线.
一个简单的模式应该做的工作,但我不能想出/找到有用的东西.我希望有这样的事情:
lines = string.gmatch(string, "^\r\n")
Run Code Online (Sandbox Code Playgroud) 我在将字符串拆分为特殊字符的两个字符串时遇到问题.
例如:
12345#data
Run Code Online (Sandbox Code Playgroud)
要么
1234567#data
Run Code Online (Sandbox Code Playgroud)
我在第一部分中有5-7个字符与"#"第二部分分开,其中是另一个数据(字符,数字,无所谓)
我需要将这些数据拆分并存储在两个变量中
x = 12345
y = data
Run Code Online (Sandbox Code Playgroud)
没有#性格.
我一直在寻找一些Lua字符串函数"#"或字符串,但我还没有找到.
如何在Lua中将字符串的前缀"0"替换为"+49"?
sed中的示例:
echo 030111 | sed "s/^0/\+49/" -> +4930111
Run Code Online (Sandbox Code Playgroud) function getXMLBaseFileName(filename)
try = filename:match("^(.+)\.xml$")
if try == nil then
return filename
else
return try
end
end
Run Code Online (Sandbox Code Playgroud)
当给定一个像“foo.xml”这样的文件名时,我将返回“foo”。所以包括点,但它在 () 对之外。
我正在尝试将一个字符串分成两部分,用一个'.'字符分隔.但string.find()功能无法处理
我有这种字符串
local test = "345345.57573"
Run Code Online (Sandbox Code Playgroud)
我试过了
local start = string.find( test, "." )
local start = string.find( test, "\." )
local start = string.find( test, "(%w+).(%w+)" )
Run Code Online (Sandbox Code Playgroud)
但它们都没有奏效.String.find()总是返回1false.可能是什么问题?
编辑:我也尝试使用gsub和更改.与另一个角色,但它也没有工作
我需要用有限的字符串(对我来说逗号)或数组中的字符分隔字符串。Lua中如何用逗号分隔o。
我检查了这些链接,但我不明白:
http://lua-users.org/wiki/SplitJoin
http://lua-users.org/wiki/PatternsTutorial
objPropo = {}
str = "Maria Mercedez,,Jose,Sofia"
i = 1
for token in string.gmatch(str, ",") do
objPropo[i] = token
i = i + 1
end
native.showAlert("Names", objPropo[1], {"OK"})
native.showAlert("Names", objPropo[2], {"OK"}) <-- Is this error? Because is nil? or what happend?
native.showAlert("Names", objPropo[3], {"OK"})
native.showAlert("Names", objPropo[4], {"OK"})
Run Code Online (Sandbox Code Playgroud)
它可以显示:
Maria Mercedez
Run Code Online (Sandbox Code Playgroud)
如何格式化发送模式?
[其他选择]
如果可能的话?
objPropo = {}
str = "Maria Mercedez,,Jose,Sofia"
i = 1
for token in string.gmatch(str, ",") do
objPropo[token] = token <-------- CHECK
i …Run Code Online (Sandbox Code Playgroud) 我可以使用 string.gsub(message, " ") 但它只会削减单词。
我在http://lua-users.org/wiki/StringLibraryTutorial 上搜索,但在那里找不到任何解决方案
我怎样才能将这些词保存到变量中?例如我有消息 =“乐趣 1 真正享受”
我希望变量具有
var level = 1
var good = true
var message = "enjoy"
Run Code Online (Sandbox Code Playgroud) 我想检查 url 是否有效,在 lua 中执行此操作的正确正则表达式是什么?我尝试过像这样的正则表达式
string.match('https://stackoverflow.com/', '[a-z]*:\/\/[^ >,;]*')
Run Code Online (Sandbox Code Playgroud)
但出现错误
invalid escape sequence near ''[a-z]*:\/'
Run Code Online (Sandbox Code Playgroud)
更新:
string.match('https://stackoverflow.com/', '[a-z]*://[^ >,;]*')
Run Code Online (Sandbox Code Playgroud)
是正确答案