से चाबियाँ प्राप्त करें मैं एक प्रतिस्थापन में एक स्ट्रिंग टेम्पलेट का उपयोग कर सकते हैं सभी संभावित कीवर्ड तर्कों की एक सूची प्राप्त करना चाहता हूं।टेम्पलेट
क्या यह फिर से करने के लिए कोई तरीका है?
मैं इस तरह कुछ करना चाहता हूँ:
text="$one is a $lonely $number."
keys = get_keys(text)
# keys = ('one', 'lonely', 'number')
मैं एक साधारण पागल-लिब की तरह कार्यक्रम लिख रहा हूँ, और मैं या तो string.format या Template strings के साथ टेम्पलेट प्रतिस्थापन प्रदर्शन करने के लिए चाहते हैं। मैं 'कहानी' लिखना चाहता हूं और मेरा प्रोग्राम सभी 'कीवर्ड' (संज्ञाएं, क्रियाएं इत्यादि) की टेम्पलेट फ़ाइल तैयार करता है जिसे उपयोगकर्ता को उत्पादन करने की आवश्यकता होगी। मुझे पता है कि मैं नियमित अभिव्यक्तियों के साथ ऐसा कर सकता हूं, लेकिन मैं सोच रहा था कि कोई वैकल्पिक समाधान है या नहीं? मैं string.format और स्ट्रिंग टेम्पलेट के विकल्पों के लिए खुला हूं।
मैंने सोचा कि इसका समाधान होगा, लेकिन मैं इसे त्वरित खोज में नहीं आया हूं। मुझे यह प्रश्न मिला, reverse template with python, लेकिन यह वास्तव में नहीं है कि मैं क्या देख रहा हूं। यह सिर्फ पुष्टि करता है कि यह re
के साथ किया जा सकता है।
संपादित करें:
मैं नोट करना चाहिए कि $$
'$' को पलायन है, और एक टोकन मैं चाहता हूँ नहीं है। $$5
को "$ 5" में प्रस्तुत करना चाहिए।
बहुत ज्यादा जो मैं खोज रहा था। शायद मेरे प्रश्न को काम की ज़रूरत है लेकिन मैं मूल रूप से पहिया को फिर से शुरू नहीं करना चाहता था। धन्यवाद। – Yann
स्ट्रिंग एक कुंजी के साथ शुरू होने पर यह काम नहीं करता है। उपरोक्त कोशिश करें '{foo} test' – syntacticmarmalade
@syntacticmarmalade मेरे लिए पाइथन 3.6 पर ठीक काम करता है। यदि आपका मतलब है कि सूची में अंत में 'कोई नहीं' है, तो ऐसा इसलिए है क्योंकि स्ट्रिंग एक कुंजी के साथ * समाप्त नहीं होती है। आप केवल 'कोई नहीं' के उदाहरण फ़िल्टर कर सकते हैं। –