फ़ाइल में। txt

obj = "hi/this/is[1]/script"

स्ट्रिंग को में बदलें

obj = "hi/this/is\[1]/script"

क्या टीसीएल में ऐसा करने का कोई तरीका है?

tcl
0
Vincci 18 फरवरी 2020, 11:24

2 जवाब

यदि आप किसी वर्ण की सभी घटनाओं को बदलना चाहते हैं, तो string map बहुत उपयुक्त है:

# Careful with the quoting here
set obj [string map [list {[} {\[}] $obj]

यदि आप केवल पहली घटना को बदलना चाहते हैं, तो regsub एक बेहतर टूल है

set obj [regsub {\[} $obj {\\&}]

(& मिलान वाली स्ट्रिंग बन जाती है, और हमें आरई और प्रतिस्थापन टेक्स्ट दोनों में बैकस्लैश से सावधान रहने की आवश्यकता है।)

1
Donal Fellows 18 फरवरी 2020, 14:00

एक तरीका है 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"
0
Shawn 18 फरवरी 2020, 12:05