Шаблон для сопоставления всех строчных букв в строках - PullRequest
2 голосов
/ 22 апреля 2019

Я очень новичок в шаблонах.Я хочу выбрать строки jjjjj, ae и hii.

. Я хочу сопоставить все строчные буквы в каждой группе символов в кавычках.

Str = [["1jjjjj" "Wae1" "Uhi2i"]]
for X in string.gmatch(Str,'%".-[%l]([%l]*).-%"') do
    print(X) -- jjjjj, ae, hii
end

Ответы [ 2 ]

1 голос
/ 22 апреля 2019

Если вы хотите сохранить строчные буквы, вы можете удалить не строчные буквы символов.

xs = {"1jjjjj", "Wae1", "Uhi2i"}
for _, x in ipairs(xs) do
    lowers = x:gsub("%L", "")
    print(lowers)
end
jjjjj
ae
hii

I'mпри условии, что у вас есть возможность использовать таблицу для хранения строк, вместо того, чтобы разбирать процитированные части одной строки.

1 голос
/ 22 апреля 2019

Вот, пожалуйста.Один способ сделать это, по крайней мере:

local str = [["1jjjjj" "Wae1" "Uhi2i"]]
for word in str:gmatch("%S+") do    
    local lowercase = ""

    for char in word:gmatch("%l") do
        lowercase = lowercase .. char
    end

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