इनपुट स्ट्रिंग:

हालांकि, मुँहासे और गैर-मुँहासे दोनों रोगियों में hBD-1 और LL-27 अभिव्यक्ति का जीन कैंसर से प्रभावित नहीं था।

अपेक्षित आउटपुट स्ट्रिंग:

हालांकि, hBD-1 एक्सप्रेशन और LL-27 एक्सप्रेशन का जीन मुँहासे और गैर-मुँहासे वाले रोगियों दोनों में कैंसर से प्रभावित नहीं था।

कोड:

import re
string_a = "However, the gene of hBD-1 and LL-27 expression was not affected by cancer in both acne and non-acne patients."
print(string_a)
print('\n')
output = re.sub(r'\b(\w+-(\d+|[A-Za-z]+))\b(?! [A-Za-z]+\b)', r'\b(\1 [A-Za-z]+)\b', string_a)
print(output)

मुझे सटीक आउटपुट स्ट्रिंग नहीं मिल रही है। कृपया मेरा कोड देखें और समाधान सुझाएं या संशोधित करें।

1
Sachin Sinkar 1 जून 2021, 10:00
यदि आपकी वास्तविक समस्या आपके द्वारा ऊपर पोस्ट की गई समस्या से भिन्न या अधिक विस्तृत है, तो कृपया अपने प्रश्न को संपादित करें करें और अधिक जानकारी शामिल करें।
 – 
Tim Biegeleisen
1 जून 2021, 15:11
टिम, मैंने इसे संपादित किया है। कृपया यह जाँचें।
 – 
Sachin Sinkar
1 जून 2021, 15:25

1 उत्तर

सबसे बढ़िया उत्तर

मैं यहां re.sub का प्रयोग चुनिंदा रूप से किसी भी जीन शब्द को अपने साथ बदलने के लिए करूंगा जिसके बाद टेक्स्ट expression होगा, उन जीनों के लिए जिनके पास पहले से यह टेक्स्ट नहीं है।

inp = "However, the gene of hBD-1 and LL-27 expression was not affected by acnes."
output = re.sub(r'\b(\w+-\d+)\b(?! expression\b)', r'\1 expression', inp)
print(output)

यह प्रिंट करता है:

However, the gene of hBD-1 expression and LL-27 expression was not affected by acnes.
4
Tim Biegeleisen 1 जून 2021, 10:09
समाधान के लिए धन्यवाद लेकिन समाधान गतिशील नहीं है। मैंने इसमें सामान्य तरीके से कोशिश की है लेकिन यह काम नहीं करेगा। क्या आप कृपया सामान्य मामले के लिए प्रयास करेंगे। re.sub(r'\b(\w+-\d+)\b(?! [A-Za-z]+\b)', r'\1 [A-Za-z]+')
 – 
Sachin Sinkar
1 जून 2021, 15:07
यदि आप मेरे द्वारा यहां दिए गए उत्तर से अधिक विशिष्ट कुछ चाहते हैं, तो आपको हमें जीन संक्षिप्ताक्षरों की पहचान करने के नियम बताने होंगे।
 – 
Tim Biegeleisen
1 जून 2021, 15:37
टिम आपकी प्रतिक्रिया के लिए धन्यवाद। मैं आपसे सहमत हूं लेकिन हम इसे एनईआर के लिए कर रहे हैं इसलिए नियमों पर विचार करने की कोई आवश्यकता नहीं है। आप इस पर अपना रेगेक्स आज़मा सकते हैं।
 – 
Sachin Sinkar
1 जून 2021, 15:45
यह मेरे प्रश्न का उत्तर नहीं देता है, इसलिए मेरा उत्तर नहीं बदलता है।
 – 
Tim Biegeleisen
1 जून 2021, 15:51