【问题标题】:lua split into wordslua 拆分成单词
【发布时间】:2011-02-16 07:21:18
【问题描述】:

我在 lua 中有一个字符串。

这是一堆 [a-zA-Z0-9]+ 由一个数字(1 个或多个)空格分隔。

如何获取字符串并将其拆分为字符串表?

【问题讨论】:

标签: string lua


【解决方案1】:
s="How do I take the string and split it into a table of strings?"
for w in s:gmatch("%S+") do print(w) end

【讨论】:

  • 参考手册 gnome 说:%S 代表所有非空格字符。
  • 接受的答案 (ponzao) 与问题中的规范一致,但更喜欢 lhf 答案的原因是,如果您有 8 位或多字节文本(所有非 ascii),您可以仍然使用此方法仅在空格上正确拆分。
  • @u0b34a0f6ae 因此,例如,它可以使用 UTF-8 编码。 : ]]] (但不是一些使用较长代码点的 Unicode 特殊空格)
【解决方案2】:
s = "foo bar 123"
words = {}
for word in s:gmatch("%w+") do table.insert(words, word) end

【讨论】:

  • 参考手册 gnome 说:%w 代表所有字母数字字符。
  • %w 对我来说不正确,它包含一个用于拆分的字母数字字符。例如“FAULT_CODE FAULTCODE”返回 3 个值
  • @PankajRawat,原来的问题指定了[a-zA-Z0-9]+,其中不包括_。您可能想使用@lhf 提供的答案。
猜你喜欢
  • 1970-01-01
  • 2015-04-24
  • 2015-02-15
  • 1970-01-01
  • 1970-01-01
  • 2013-08-10
  • 2019-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多