Перейти к содержимому
  • 0
samrrr

Обработка строк в Lua

Вопрос

Кто может сделать функцию берущую строку "20 samrrr der"

и возвращающую {"20","samrrr","der"}?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Google:

split("a,b,c", ",") --> {"a", "b", "c"}

Для тебя: split("20 samrrr der", " "). Возвращает {20, "samrrr", "der"}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Это на каком языке?

Тоже хотел узнать)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Наверное, на Луа, но сперва нужно написать что нибудь вроде:

function split(text, sep)
	sep = sep or "\n"
	local lines = {}
	local pos = 1
	while true do
		local b,e = text:find(sep, pos)
		if not b then table.insert(lines, text:sub(pos)) break end
		table.insert(lines, text:sub(pos, b-1))
		pos = e + 1
	end
	return lines
end

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Если так, как хочет Самррр  по пробелам забить слова в массив, то можно и так, без указания типа сепаратора:

-- разбиваем строку по словам
local function split(line)
  local data = {}
  for word in line:gmatch("%S+") do table.insert(data, word) end
  return data
end

Тогда  split("20 samrrr der")  вернет именно то, что ему нужно {"20","samrrr","der"}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...