यदि किसी संख्या के बाद स्ट्रिंग में "(" आता है:
मैं इसे नंबर से कैसे बदलूं*(
उदाहरण: इनपुट:"2(3+4)"
आउटपुट: "2*(3+4)"
3 जवाब
यह सुनिश्चित करने के लिए कि आप केवल अंकों के बाद प्रतिस्थापित करते हैं, आप इस तरह से स्ट्रिंग पर लूप कर सकते हैं:
input = "2(3(8(12))+4)"
output = input
indices_to_insert = []
for i in range(len(input)-1):
if input[i].isdigit() and input[i+1] == '(':
indices_to_insert.append(i)
for iter,index in enumerate(indices_to_insert):
output = output[:index+iter+1] + "*" + output[index+iter+1:]
print(output)
आउटपुट:
2*(3*(8*(12))+4)
आप रेगेक्स का भी उपयोग कर सकते हैं
आप नियमित अभिव्यक्ति प्रतिस्थापन का भी उपयोग कर सकते हैं:
import re
s = '2(3+4)'
s = re.sub(r'(\d+)\(', r'\1*(', s)
print(s)
प्रिंट:
2*(3+4)
या आप थोड़ा छोटा कोड आज़मा सकते हैं जो re
का उपयोग करता है
import re
s = '12(3+4)+5(4+1)-3(2(6/(1+1)))'
for m in re.findall('(\d+)(\()', s):
s = s.replace(''.join(m), '*'.join(m))
print(s)
'12*(3+4)+5*(4+1)-3*(2*(6/(1+1)))'
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।