2010-05-06 11 views
6

मेरे पास लुआ में एक स्ट्रिंग है।लुआ शब्दों में विभाजित

यह एक संख्या (1-जेए-जेड -9] + का एक गुच्छा है जो एक संख्या (1 या अधिक) रिक्त स्थान से अलग होता है।

मैं स्ट्रिंग कैसे ले सकता हूं और इसे तारों की एक तालिका में विभाजित कर सकता हूं?

+0

के संभावित डुप्लिकेट (http://stackoverflow.com/questions/1426954/split-string-in-lua) – Jacob

उत्तर

11
s = "foo bar 123" 
words = {} 
for word in s:gmatch("%w+") do table.insert(words, word) end 
+6

संदर्भ पुस्तिका gnome कहते हैं: '% w' सभी अल्फान्यूमेरिक वर्णों का प्रतिनिधित्व करता है। – u0b34a0f6ae

34
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 
+7

संदर्भ मैनुअल सूक्ति का कहना है [lua में स्प्लिट स्ट्रिंग?]: '% S' सभी गैर-अंतरिक्ष पात्रों का प्रतिनिधित्व करता है। – u0b34a0f6ae

+8

स्वीकार्य उत्तर (पोंज़ा) प्रश्न में विनिर्देश के साथ ठीक है, लेकिन एलएचएफ के उत्तर को प्राथमिकता देने का कारण यह है कि यदि आपके पास 8-बिट या मल्टीबाइट टेक्स्ट (सबकुछ गैर-असीसी) है, तो आप अभी भी केवल रिक्त स्थान पर उपयोग कर सकते हैं यह विधि। – u0b34a0f6ae

+0

@ u0b34a0f6ae तो, उदाहरण के लिए, यह यूटीएफ -8 एन्कोडिंग के साथ काम करेगा। :]]] (लेकिन कुछ यूनिकोड विशेष सफेद जगहों के साथ नहीं जो लंबे कोड बिंदुओं का उपयोग करते हैं) – Hydro

संबंधित मुद्दे