महामहिम नहीं - एक zalgo चुनौती


25

एक प्रोग्राम या फ़ंक्शन लिखें, जो एक स्ट्रिंग दिया जाता है, यह ज़ालैगो की पट्टी करेगा, यदि कोई मौजूद है।

Zalgo

इस पोस्ट के लिए, ज़ालगो को यूनिकोड श्रेणी के किसी भी चरित्र के रूप में परिभाषित किया गया है:

  • संयुक्त राजनैतिक निशान (०३००-०३६ एफ)
  • विस्तारित डायक्रिटिकल मार्क्स का संयोजन (1AB0-1AFF)
  • संयुक्त राजनैतिक निशान अनुपूरक (1DC0-1DFF)
  • सिंबल के लिए डियाक्रिटिकल मार्क्स का संयोजन (20D0-20FF)
  • हाफ मार्क्स (FE20 – FE2F) का संयोजन

https://en.wikipedia.org/wiki/Combining_character#Unicode_ranges

इनपुट

  • कमांड लाइन आर्ग्युमेंट्स, एसटीडीआईएन, या आपकी भाषा द्वारा समर्थित इनपुट के किसी भी अन्य मानक तरीके से पारित किया जा सकता है
  • एक स्ट्रिंग होगी जिसमें zalgo या अन्य गैर-ASCII वर्ण शामिल हो सकते हैं या नहीं हो सकते हैं

उत्पादन

आउटपुट एक स्ट्रिंग होना चाहिए जिसमें कोई भी ज़ैल्गो न हो।

परीक्षण के मामलों

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
⚡⃤       -> ⚡

स्कोरिंग

जैसा कि यह , बाइट्स जीत में सबसे छोटा जवाब है।


3
क्या स्ट्रिंग की गारंटी केवल ASCII और / या Zalgo में है? या इसमें अन्य यूनिकोड हो सकते हैं?
DJMcMayhem

4
उन पात्रों के वैध उपयोग के बारे में क्या? ज़ाल्गो बहुत अधिक केवल तब होता है जब उन पात्रों को एक-दूसरे के साथ इस तरह से स्टैक किया जाता है जो कभी इरादा नहीं था।
ड्रेको 18

@DJMcMayhem इनपुट स्ट्रिंग में अन्य गैर-ASCII वर्ण हो सकते हैं जिन्हें हटाया नहीं जाना चाहिए।
अमानवीय

1
@totallyhuman मैं एक अधिक सामान्य दृष्टिकोण सोच रहा था: केवल एक "मानक" चरित्र के बाद एक से अधिक होने पर अलग करना । यह ठीक है, लेकिन इसे a͕̰छीन लिया जाता है a। (इसके अलावा अब, इमोजी डिटेक्टर के लिए धन्यवाद, मैं इमोजी पर डायक्ट्रीक्स डालना चाहता हूं ... looks pfft, जो मूर्खतापूर्ण दिखता है)
ड्रेको 18

2
आपको गैर-एएससीआईआई आउटपुट के साथ कुछ परीक्षण मामलों को जोड़ना चाहिए।
xnor

जवाबों:


13

रेटिना , 35 बाइट्स

T`̀-ͯ᪰-᫿᷀-᷿⃐-⃿︠-︯

इसे ऑनलाइन आज़माएं!

बस इनपुट से चुनौती में दी गई श्रेणियों में सभी वर्णों को हटा देता है। कोड निश्चित रूप से सुपर अपठनीय है, लेकिन कोड वैचारिक रूप से कुछ से अलग नहीं है, T`0-9A-Za-zजो सभी अल्फ़ान्यूमेरिक वर्णों को हटा देगा।


3
मेरे लिए काफी अपराजेय लगता है।
एग्री आउटलोफर

@EriktheOutgolfer मुझे नहीं पता, मुझे लगता है कि जेली केवल पात्रों को सूचीबद्ध करने की तुलना में अधिक कुशलता से कोड पॉइंट रेंज उत्पन्न करने में सक्षम हो सकती है।
मार्टिन एंडर

वास्तव में मुझे नहीं लगता कि यह करने में सक्षम है।
एग्री आउटलोफर

मुझे आश्चर्य है कि अभी तक कोई जेली समाधान नहीं है।
23

@icrieverytim यहाँ है , और इसे लंबा करें। मुझे पता नहीं चला कि
कोडपॉइंट्स

7

पायथन 3 , 73 69 बाइट्स

-4 बाइट्स L3viathan के लिए धन्यवाद।

सुनिश्चित नहीं है कि आपकी अपनी चुनौती में भाग लेना ठीक है या नहीं ... लेकिन रेगेक्स चुरा लिया और अनिवार्य रूप से विचार> जेएस और रेटिना के उत्तर से सीधे।

lambda s:re.sub('[̀-ͯ᪰-᫿᷀-᷿⃐-⃿︠-︯]','',s)
import re

इसे ऑनलाइन आज़माएं!


1
सामान्य आयात विवरण बनाकर 4 बाइट्स सहेजें।
L3viathan

आप बाइट काउंट अपडेट करना भूल गए।
xnor

@ एक्सनोर हुह? मेरे लिए सही लगता है।
पूरी तरह से

@totallyhuman मेरी गलती है, याद किया कि वे चार बहुएं हैं।
xnor

खैर, यह कहना उचित है कि मैंने रेटिना उत्तर से चरित्र श्रेणी चुरा ली है। (हालांकि देखभाल के बाद से, क्योंकि मेरे संपादक ने इसके साथ ही जालगो को हटाना चाहा था `।)
नील '



4

PHP, 67 बाइट्स

लिखने के रूप में छोटा

<?=preg_replace("#[̀-ͯ᪰-᫿᷀-᷿⃐-⃿︠-︯]#u","",$argn);

इसे ऑनलाइन आज़माएं!

PHP, 115 बाइट्स

<?=preg_replace("#[\u{300}-\u{36f}\u{1ab0}-\u{1aff}\u{1dc0}-\u{1dff}\u{20d0}-\u{20ff}\u{fe20}-\u{fe2f}]#u","",$argn);

इसे ऑनलाइन आज़माएं!

PHP, 35 बाइट्स

दिए गए Testcases के लिए मान्य यह सभी मार्क्स को हटा देता है

<?=preg_replace("#\pM#u","",$argn);

इसे ऑनलाइन आज़माएं!


@FelixDombek नहीं, यह दिए गए पर्वतमाला में केवल सभी मार्क्स को कुछ नहीं के साथ बदल देता है
Jörg Hülsermann

3

पायथन 3, 127 118 बाइट्स

अभी के लिए बस एक सीधा सा जवाब, आइए देखें कि यह कितना गोल्फ़ है।

lambda y:"".join(chr(x)for x in map(ord,y)if not(767<x<880or 6831<x<6912or 7615<x<7680or 8399<x<8448or 65055<x<65072))

बदलाव का:

  • मैं कब सीखूंगा कि समझ कार्यात्मक सामान (-9 बाइट्स) से कम है।

0orकोई बात नहीं है, इसलिए आपको इसे ठीक करना होगा या इसे उठाना होगा SyntaxError
एग्री आउटलोफर

2
@EriktheOutgolfer क्या आपने वास्तव में इसका परीक्षण किया था? मेरे लिए न तो पायथन 3 और न ही 2 पर त्रुटि फेंकना चाहिए
L3viathan

अरे हाँ। मैं थोड़ी उलझन में था।
आउट्रिकोलर


2

एपीएल (डायलॉग यूनिकोड) , 43 बाइट्स

'[̀-ͯ᪰-᫿᷀-᷿⃐-⃿︠-︯]'R''

इसे ऑनलाइन आज़माएं!

PCRE R कुछ भी नहीं के साथ उन सभी को eplace


44 बाइट संस्करण RegEx या अजीब चरित्र शाब्दिक (और इस प्रकार प्रति वर्ण एकल बाइट) का उपयोग नहीं कर रहा है:

⍞~⎕UCS65055 8399 7615 6831 767+⍳¨16×2 6~⍨⍳7

इसे ऑनलाइन आज़माएं! ⍳7 1… 7 (1 2 3 4 5 6 7)

2 6~⍨ 2 और 6 को छोड़कर (1 3 4 5 7)

16× 16 से गुणा करें (16 48 64 80 112)

⍳¨ 1… प्रत्येक (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16, 1 2 3…, 110 110 112)

+ प्रत्येक सूची में ऑफसेट जोड़ें (65056 65057 65058…, 877 878 ​​879)

 सूची (समतल)

⎕UCS इसी यूनिकोड वर्ण में परिवर्तित करें

⍞~ टेक्स्ट इनपुट प्राप्त करें और ऐसे सभी वर्णों को हटा दें


2

जेली , 32 बाइट्स

“Żȷ'⁺¦60ƭṖ_WTɦ7Ụ|ṫYɠF’bȷ5r2/FỌḟ@

इसे ऑनलाइन आज़माएं!

व्याख्या

“Żȷ'⁺¦60ƭṖ_WTɦ7Ụ|ṫYɠF’bȷ5r2/FỌḟ@  Main link
“Żȷ'⁺¦60ƭṖ_WTɦ7Ụ|ṫYɠF’            Base 250 compressed integer; 768008790683206911076160767908400084476505665071
                      bȷ5         Convert into base 100000; [768, 879, 6832, 6911, 7616, 7679, 8400, 8447, 65056, 65071]
                         r2/      Inclusive range on non-overlapping slices of length 2
                            F     Flatten
                             Ọ    chr; cast to character from codepoints
                              ḟ@  Filter; remove all characters from input that are in the characters generated before

o0 मुझे एहसास नहीं था कि मैंने इस सवाल को उछाला है। वह यह है कि b65072मैं क्या सोचता है? : ओ
बिलकुल अमानवीय

@icrieverytim हां संख्यात्मक सूची संपीड़न: D
हाइपरएनुट्रिनो

जेली निश्चित रूप से सबसे अधिक आम भाषा है। मुझे आश्चर्य है कि यदि आप अपने कोड पर कार्यक्रम चलाते हैं तो क्या होगा? संपादित करें: दुर्भाग्य से कुछ भी नहीं
अंतरिक्ष रद्दी


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.