Jump to content

Регистр букв


Recommended Posts

Есть ли в луа функция, которая будет проверять слово игнорируя регистр букв?

То бишь берем слово "привет", и в проверке "Привет", "привет", "ПРИвет" и т.д. функция будет возвращать true?

Не знаю как лучше объяснить, но надеюсь кто-то меня поймет.

Edited by Guest
Link to comment

Совсем недавно были добавлены функции для работы с юникодом viewtopic.php?f=141&t=38632&p=787060#p787060

Ты можешь составить массив слов и использовать функцию utf8.lower().

local aWords = 
{ 
    "привет", 
    "пока" 
}; 
  
local sInputWord = "ПРивет"; 
  
sInputWord = utf8.lower( sInputWord ); 
  
for i, sWord in ipairs( aWords ) do 
    if sInputWord == sWord then 
        outputDebugString( "Found" ); 
        break; 
    end 
end 
  
outputDebugString( "Not Found" ); 

Link to comment

Kenix, сделал код по твоему примеру, но оно выводит Not Found. Разве так и должно быть?

local aWords = 
{ 
    "Привет", 
    "Пока" 
}; 
  
  
function comm ( playersource ) 
    local sInputWord = "ПРивет"; 
    sInputWord = utf8.lower( sInputWord ); 
    for i, sWord in ipairs( aWords ) do 
        if sInputWord == sWord then 
            outputDebugString( "Found" ); 
            break; 
        end 
    end 
      
    outputDebugString( "Not Found" ); 
end 
addCommandHandler ( "qq", comm ) 

Link to comment

Кениксу спасибо большое за помощь. Смог написать антимат на сервер, не самый конечно хороший, но все же

Теперь в чат выводятся сообщения формата: "ты [оск] [оск], понял??7"

Так же эта функция работает и для англ слов, что очень хорошо. Не каждая такое может (работать и с русскими и англ символами)

Link to comment
Так же эта функция работает и для англ слов, что очень хорошо. Не каждая такое может (работать и с русскими и англ символами)

Каждая функция, которая предназначена для работы с кодировкой, где есть поддержка каких-либо символов, может работать с ней. В uft-8 есть русские и английские символы, и, значит, каждая uft-8 функция должна уметь работать с ними.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...