Luaの文字列から特定の特殊文字を削除するにはどうすればよいですか?

フレイル

Lua内で、文字列から特定の特殊文字を削除するにはどうすればよいですか?
たとえば、名前の入力は次のようになります。

  • L@)iAm PAGE に変更されました Liam Page
  • José Luis に変更されました Jose Luis
  • JACK O'NIEL に変更されました Jack O'Niel

私は現在持っています

firstName = ipFirstName:gsub('[%p%c%s]', '')
lastName = ipLastName:gsub('[%p%c%s]', '')

しかし、それは広すぎます。

アレクサンダーマシン

以下は、名前をある程度サニタイズするための簡単な関数です。

local function sanitizeName (name)
    local accented = {
        ['ß'] = 'ss'
      , ['à'] = 'a', ['á'] = 'a', ['â'] = 'a', ['ã'] = 'a', ['å'] = 'a'
      , ['ä'] = 'ae', ['æ'] = 'ae'
      , ['ç'] = 'c'
      , ['è'] = 'e', ['é'] = 'e', ['ê'] = 'e', ['ë'] = 'e'
      , ['ì'] = 'i', ['í'] = 'i', ['î'] = 'i', ['ï'] = 'i'
      , ['ð'] = 'dh'
      , ['ñ'] = 'n'
      , ['ò'] = 'o', ['ó'] = 'o', ['ô'] = 'o', ['õ'] = 'o', ['ø'] = 'o'
      , ['ö'] = 'oe'
      , ['ù'] = 'u', ['ú'] = 'u', ['û'] = 'u'
      , ['ü'] = 'ue'
      , ['ý'] = 'y', ['ÿ'] = 'y'
      , ['þ'] = 'th'
    }
    local sanitized = name
        :lower()                        -- Bring everything to lower case.
        :gsub ('%s+', ' ')              -- Normalise whitespaces.
    -- Replace some non-ASCII characters:
    for fancy, plain in pairs (accented) do
        sanitized = sanitized:gsub (fancy, plain)
    end
    return sanitized
        :gsub ("[^%a ']", '')           -- Remove everyting but ASCII, spaces and apostrophes.
        :gsub ('^%a', string.upper)     -- Capitalise the first letter of the first name.
        :gsub ("[ ']%a", string.upper)  -- Capitalise the first letter of other names.
end

for _, name in ipairs {'L@)iAm PAGE', 'José Luis', "JACK O'NIEL"} do
    print (name, sanitizeName (name))
end

ただし、Unicode文字を適切に処理するには、このページを調べてくださいまた、個人名に関するほとんどの仮定は誤りであることに注意してください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

文字列から特殊文字の単語を削除するにはどうすればよいですか?

分類Dev

json / stringから特殊文字と特定の単語を削除するにはどうすればよいですか?

分類Dev

Luaの文字列からすべての特殊文字、句読点、空白を削除するにはどうすればよいですか?

分類Dev

Python 3で文字列内の特殊文字を削除するにはどうすればよいですか?

分類Dev

特殊文字で文字列の終わりを削除するにはどうすればよいですか?

分類Dev

Swift 2で文字列から特殊文字を削除するにはどうすればよいですか?

分類Dev

文字列から特殊文字を削除するにはどうすればよいですか?

分類Dev

jQueryのURLから特殊文字を削除するにはどうすればよいですか?

分類Dev

文字列の最初と最後からすべての特殊文字を削除するにはどうすればよいですか?#と、を期待しますか?

分類Dev

MySQLで列の特殊文字を削除するにはどうすればよいですか?

分類Dev

配列PHPから特殊文字を削除するにはどうすればよいですか?

分類Dev

Python文字列からスペースとダッシュを除くすべての特殊文字を削除するにはどうすればよいですか?

分類Dev

文字列の特殊文字のみをUnicodeに変換するにはどうすればよいですか?

分類Dev

特殊文字を削除しながら、文字列のフォーマットにスペースを保持するにはどうすればよいですか?

分類Dev

[]などの特殊文字を含む文字列をgrepするにはどうすればよいですか?

分類Dev

Javaの特定の文字列から特定の文字を削除するにはどうすればよいですか?

分類Dev

Rで複数の連続する特殊文字を削除するにはどうすればよいですか?

分類Dev

文字列内の特殊文字をUnicodeに変換するにはどうすればよいですか?

分類Dev

文字列内の特殊文字をUnicodeに変換するにはどうすればよいですか?

分類Dev

AutoHotKey:文字列で特殊文字の箇条書きを追加するにはどうすればよいですか?

分類Dev

特殊文字を削除するにはどうすればよいですか?

分類Dev

文字列から特定の部分文字列のみを削除するにはどうすればよいですか?

分類Dev

正規表現で複数行内の特殊文字を削除するにはどうすればよいですか?

分類Dev

ファイル名の特殊文字を削除するにはどうすればよいですか?

分類Dev

特殊文字でマークされた部分文字列を文字列から削除するにはどうすればよいですか?

分類Dev

特定の文字列から部分文字列を削除するにはどうすればよいですか?

分類Dev

Luaの文字列から最後の行を削除するにはどうすればよいですか?

分類Dev

文字列から「ö」のような特殊文字を置き換えて、適切な文字「Ö」を付けるにはどうすればよいですか?

分類Dev

特定の文字から文字列の一部を削除するにはどうすればよいですか?

Related 関連記事

  1. 1

    文字列から特殊文字の単語を削除するにはどうすればよいですか?

  2. 2

    json / stringから特殊文字と特定の単語を削除するにはどうすればよいですか?

  3. 3

    Luaの文字列からすべての特殊文字、句読点、空白を削除するにはどうすればよいですか?

  4. 4

    Python 3で文字列内の特殊文字を削除するにはどうすればよいですか?

  5. 5

    特殊文字で文字列の終わりを削除するにはどうすればよいですか?

  6. 6

    Swift 2で文字列から特殊文字を削除するにはどうすればよいですか?

  7. 7

    文字列から特殊文字を削除するにはどうすればよいですか?

  8. 8

    jQueryのURLから特殊文字を削除するにはどうすればよいですか?

  9. 9

    文字列の最初と最後からすべての特殊文字を削除するにはどうすればよいですか?#と、を期待しますか?

  10. 10

    MySQLで列の特殊文字を削除するにはどうすればよいですか?

  11. 11

    配列PHPから特殊文字を削除するにはどうすればよいですか?

  12. 12

    Python文字列からスペースとダッシュを除くすべての特殊文字を削除するにはどうすればよいですか?

  13. 13

    文字列の特殊文字のみをUnicodeに変換するにはどうすればよいですか?

  14. 14

    特殊文字を削除しながら、文字列のフォーマットにスペースを保持するにはどうすればよいですか?

  15. 15

    []などの特殊文字を含む文字列をgrepするにはどうすればよいですか?

  16. 16

    Javaの特定の文字列から特定の文字を削除するにはどうすればよいですか?

  17. 17

    Rで複数の連続する特殊文字を削除するにはどうすればよいですか?

  18. 18

    文字列内の特殊文字をUnicodeに変換するにはどうすればよいですか?

  19. 19

    文字列内の特殊文字をUnicodeに変換するにはどうすればよいですか?

  20. 20

    AutoHotKey:文字列で特殊文字の箇条書きを追加するにはどうすればよいですか?

  21. 21

    特殊文字を削除するにはどうすればよいですか?

  22. 22

    文字列から特定の部分文字列のみを削除するにはどうすればよいですか?

  23. 23

    正規表現で複数行内の特殊文字を削除するにはどうすればよいですか?

  24. 24

    ファイル名の特殊文字を削除するにはどうすればよいですか?

  25. 25

    特殊文字でマークされた部分文字列を文字列から削除するにはどうすればよいですか?

  26. 26

    特定の文字列から部分文字列を削除するにはどうすればよいですか?

  27. 27

    Luaの文字列から最後の行を削除するにはどうすればよいですか?

  28. 28

    文字列から「ö」のような特殊文字を置き換えて、適切な文字「Ö」を付けるにはどうすればよいですか?

  29. 29

    特定の文字から文字列の一部を削除するにはどうすればよいですか?

ホットタグ

アーカイブ