Получить символ до и после совпадения в строке - PullRequest
1 голос
/ 08 апреля 2020

У меня есть несколько строк, и где-то внутри строки есть /. Например, bis 0/5 nta.

Я пытаюсь получить число на каждой стороне /, включая /, например 0/5.

. Я пытался разбить строку на / и принимая первый / последний символ разделенной строки, но я пытаюсь сделать его более простым.

for i in string.gmatch(example, "/") do
   print(i)
end

Я также пробовал:

s = "bis 0/5 nta"
a,b = s:match("(.+)/(.+)")

Is есть какой-нибудь способ получить 0/5 от bis 0/5 nta?

1 Ответ

2 голосов
/ 08 апреля 2020

Вам не нужны скобки. Без них весь шаблон станет совпадением. Вам просто нужно быть более точным с вашим шаблоном c.

str = "bis 0/5 nta"
x = str:match('%d+/%d+') --%d+ means match one or more digits
print(x) --0/5

Если вы когда-нибудь будете искать матчи типа 1/2 или 100/253, это сработает. Если у вас есть более конкретные c потребности, укажите их в комментарии, и я помогу вам поработать над шаблоном.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...