Napisz program lub funkcję, która po danym łańcuchu usunie go z zalgo, jeśli taki istnieje.
Zalgo
W tym poście zalgo jest zdefiniowane jako dowolny znak z następujących zakresów Unicode:
- Łączenie znaków diakrytycznych (0300–036F)
- Rozszerzone łączenie znaków diakrytycznych (1AB0–1AFF)
- Suplement łączący znaki diakrytyczne (1DC0–1DFF)
- Łączenie znaków diakrytycznych symboli (20D0–20FF)
- Łączenie pół znaków (FE20 – FE2F)
https://en.wikipedia.org/wiki/Combining_character#Unicode_ranges
Wkład
- Może być przekazywany za pomocą argumentów wiersza poleceń, STDIN lub innej standardowej metody wprowadzania obsługiwanej przez Twój język
- Będzie ciągiem, który może zawierać lub nie zawierać zalgo lub innych znaków spoza ASCII
Wydajność
Dane wyjściowe powinny być ciągiem, który nie zawiera żadnego zalgo.
Przypadki testowe
Input -> Output
HE̸͚ͦ ̓C͉Õ̗͕M͙͌͆E̋̃ͥT̠͕͌H̤̯͛ -> HE COMETH
C͉̊od̓e͔͝ ̆G̀̑ͧo͜l͔̯͊f͉͍ -> Code Golf
aaaͧͩa͕̰ȃ̘͕aa̚͢͝aa͗̿͢ -> aaaaaaaaa
ññ -> ñn
⚡⃤ -> ⚡
Punktacja
Ponieważ jest to golfowy kod , wygrywa najkrótsza odpowiedź w bajtach.
a͕
porządku, alea͕̰
zostaje rozebranea
. (Teraz też, dzięki wykrywaczowi emoji, chcę nałożyć emoji na znaki diakrytyczne ... 🤔̘͕̑ pfft, to wygląda głupio)Odpowiedzi:
Siatkówka , 35 bajtów
Wypróbuj online!
Po prostu usuwa wszystkie dane z zakresu podanego w wyzwaniu z danych wejściowych. Kod jest oczywiście bardzo nieczytelny, ale kod koncepcyjnie nie różni się niczym od czegoś,
T`0-9A-Za-z
co skasowałoby wszystkie znaki alfanumeryczne.źródło
Python 3 ,
7369 bajtów-4 bajty dzięki L3viathan.
Nie jestem pewien, czy uczestnictwo w swoim wyzwaniu jest w porządku, czy nie, ale ... Ukradnij wyrażenie regularne
i zasadniczo także pomysł> <prosto z odpowiedzi JS i Retina.Wypróbuj online!
źródło
`
.)JavaScript (ES6), 55 bajtów
źródło
Japt , 37 bajtów
Wypróbuj online!
źródło
PHP, 67 bajtów
krótszy jak napisać
Wypróbuj online!
PHP, 115 bajtów
Wypróbuj online!
PHP, 35 bajtów
Obowiązuje dla podanych przypadków testowych, usuwa wszystkie znaki
Wypróbuj online!
źródło
Python 3,
127118 bajtówNa razie prosta odpowiedź, zobaczmy, jak można grać w golfa.
Dziennik zmian:
źródło
0or
nie jest rzeczą, więc musisz to naprawić, bo inaczej się podniesieSyntaxError
.Bash + coreutils, 41
Po prostu usuwa znaki z podanych zakresów.
Wypróbuj online .
źródło
APL (Dyalog Unicode) , 43 bajty
Wypróbuj online!
PCRE R EUmieãæ tych wszystkich, z niczym
Wersja 44-bajtowa nie korzystająca z RegEx lub literałów dziwnych znaków (a zatem pojedynczy bajt na znak):
Wypróbuj online!
⍳7
1… 7 (1 2 3 4 5 6 7)2 6~⍨
z wyjątkiem 2 i 6 (1 3 4 5 7)16×
pomnóż przez 16 (16 48 64 80 112)⍳¨
1… każdy (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16, 1 2 3…,… 110 111 112)+
dodaj przesunięcie do każdej listy (65056 65057 65058…,… 877 878 879)∊
zaciągnąć się (spłaszczyć)⎕UCS
przekonwertować na odpowiedni znak Unicode⍞~
wprowadź tekst i usuń wszystkie takie znakiźródło
Galaretka , 32 bajty
Wypróbuj online!
Wyjaśnienie
źródło
b65072
myślę? : oJava 8, 57 bajtów
Wypróbuj tutaj.
źródło
05AB1E , 32 bajty
Wypróbuj online!
źródło