केस-गुना जर्मन


9

एक जर्मन स्ट्रिंग और एक मामले के संकेत (कम / ऊपरी / शीर्षक) को देखते हुए, स्ट्रिंग को उस मामले में मोड़ो।

विशेष विवरण

  1. इनपुट केवल शामिल होंगे a- zप्लस äöüß-,.;:!?'"अपरकेस और / या छोटे अक्षरों में।
  2. लक्ष्य मामले को किसी भी तीन अद्वितीय मान के रूप में लिया जा सकता है (कृपया निर्दिष्ट करें कि वे क्या हैं) एक सुसंगत प्रकार के; या तो तीन अक्षर, या तीन नंबर, या तीन बिट पैटर्न। (अन्य स्वरूपों को वर्तमान में "विनिर्देशन" को रोकने के लिए अनुमति नहीं दी गई है, जो कि विनिर्देशन का उत्तर है। यदि आपको लगता है कि एक अतिरिक्त प्रारूप की अनुमति दी जानी चाहिए तो टिप्पणी करें।)
  3. टाइटलकेस का अर्थ है अक्षरों को छोड़कर सब कुछ ऊपर ले जाना जो एक अक्षर का अनुसरण करते हैं (अक्षर हैं a- zप्लस äöüß)।

gotchas

  1. जब ßबड़े होने की जरूरत है, यह बनना चाहिए । कुछ केस-फोल्डिंग बिल्ट-इन और लाइब्रेरी ऐसा नहीं करते हैं।

  2. जब ßशीर्षक बनाने की आवश्यकता होती है, तो यह बनना चाहिए Ss। कुछ केस-फोल्डिंग बिल्ट-इन और लाइब्रेरी ऐसा नहीं करते हैं।

  3. ssपाठ में हो सकता है, और कभी नहीं करने के लिए परिवर्तित किया जाना चाहिए ßया

उदाहरण

ऊपरी मामला die Räder sagen "ßß ss" für dich, wegen des Öls!
हैDIE RÄDER SAGEN "ẞẞ SS" FÜR DICH, WEGEN DES ÖLS!

लोअर केस die Räder sagen "ßß ss" für dich, wegen des Öls!
है die räder sagen "ßß ss" für dich, wegen des öls!

शीर्षक मामला die Räder sagen "ßß ss" für dich, wegen des Öls!
हैDie Räder Sagen "Ssß Ss" Für Dich, Wegen Des Öls!


2
इसके लिए आउटपुट क्या होगा Ss? इसके अलावा, उदाहरण इनपुट अनुपलब्ध हैss
रॉड

@ राड SS Ss ss। क्या आप मुझे बता सकते हैं कि यह अस्पष्ट क्यों है?
आदम


क्या मुझे पायथन कार्यों के लिए तीन अद्वितीय मूल्य बनाने की अनुमति है? (मेरा जवाब देखें)
हाइपरएनुट्रिनो

नहीं, यह वास्तव में तीन विशिष्ट मूल्यों वर्ण, संख्या या बिट पैटर्न होना चाहिए कि निर्दिष्ट करके रोकने के लिए क्या करना है।
अदम

जवाबों:


6

जाप , 42 40 बाइट्स

@Oliver की बदौलत 2 बाइट्स बचाए

r'ßQ=7838d)u mV,@W¦vW=X ?Xv :X¥Q?"Ss":Xu

व्हीव, जिसने काफी प्रयास किया। इनपुट बदलने के लिए स्ट्रिंग है, और एक एकल वर्ण: uअपरकेस के लिए, vलोअरकेस के लिए, mशीर्षक मामले के लिए।

इसे ऑनलाइन टेस्ट करें!


क्या आपको जरूरत है }0?
ओलिवर

@ ओलिवर हाँ, अन्यथा यह होगा ... प्रतीक्षा करें, शायद नहीं ...
ETHproductions



3

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

⁽ñWỌ”ß;y⁸Œu
Ñ⁾SsÇ⁼?€1¦”ß
Œl
Çe€“Ġẹṇṣ‘ỌÇ;Øa¤Œg⁸ṁ⁹Ŀ€

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

पूरा कार्यक्रम।

काहे, यह गोल्फ के लिए बहुत समय लगा ...

तर्क 1: स्ट्रिंग (भागने की आवश्यकता हो सकती है)
तर्क 2: 1अपरकेस के लिए, 2शीर्षक मामले के लिए, 3लोअरकेस के लिए।


1

क्लीन , 649 279 275 274 246 बाइट्स

हां, यह आयात के 123 122 94 बाइट्स हैं, जो पहले से ही हर दूसरे उत्तर की तुलना में लंबा है।

from StdList import++,map,flatten
import StdLib,StdInt,StdBool,Text.Unicode,Text.Unicode.UChar
$ =fromInt
? =isAlpha
^ =toUpper
@0s=map^s
@1s=map toLower s
@2s=flatten(map(\[h:t]=if($223==h||h> $999)[$83,$115][^h]++ @1t)(groupBy(\a b= ?a== ?b)s))

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

फ़ंक्शन को परिभाषित करता है @, Intए और ए ले रहा है UStringऔर वापस लौटाता है UString
आसानी से, UString(यूनिकोड को संभालने का क्लीन डिफॉल्ट तरीका), इसके लिए केवल एक प्रकार का उपनाम है [Int]- जो Intस्ट्रिंग में वर्णों के यूनिकोड कोडपॉइंट्स की एक सूची है ।
असुविधाजनक रूप से , Text.Unicode.UCharवास्तव में लंबा है, और मैं नहीं कर सकता import StdEnvक्योंकि परिभाषाओं StdCharके साथ संघर्ष में परिभाषाएं Text.Unicode.UChar(जैसा कि वे एक साथ उपयोग करने के लिए अभिप्रेत नहीं हैं)।

ऊपरी, निचले और शीर्षक मामले के लिए तीन मान 0, 1 और 2 हैं।

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