फ़ाइल में। txt
obj = "hi/this/is[1]/script"
स्ट्रिंग को में बदलें
obj = "hi/this/is\[1]/script"
क्या टीसीएल में ऐसा करने का कोई तरीका है?
2 जवाब
यदि आप किसी वर्ण की सभी घटनाओं को बदलना चाहते हैं, तो string map
बहुत उपयुक्त है:
# Careful with the quoting here
set obj [string map [list {[} {\[}] $obj]
यदि आप केवल पहली घटना को बदलना चाहते हैं, तो regsub
एक बेहतर टूल है
set obj [regsub {\[} $obj {\\&}]
(&
मिलान वाली स्ट्रिंग बन जाती है, और हमें आरई और प्रतिस्थापन टेक्स्ट दोनों में बैकस्लैश से सावधान रहने की आवश्यकता है।)
एक तरीका है string map
का इस्तेमाल करना:
% set obj {obj = "hi/this/is[1]/script"}
obj = "hi/this/is[1]/script"
% string map {\[ \\\[} $obj
obj = "hi/this/is\[1]/script"
संबंधित सवाल
नए सवाल
tcl
टूल कमांड लैंग्वेज का आविष्कार जॉन ओस्टरहौट द्वारा ईडीए टूल्स को कॉन्फ़िगर करने के लिए छोटी भाषाओं को लिखने के लिए आसान बनाने के तरीके के रूप में किया गया था, लेकिन यह उन विनम्र शुरुआतओं से कहीं आगे बढ़ गया है जो अंतर्निर्मित सिंक्रोनस / ओ और यूनिकोड स्ट्रिंग्स के साथ एक सामान्य स्क्रिप्टिंग भाषा बन जाती हैं वस्तु-उन्मुख प्रोग्रामिंग और कोराउटाइन जैसे प्रतिमानों का समर्थन करते हुए।