क्या एमएस वर्ड दस्तावेज़ में पैटर्न की खोज करने का एक तरीका है?


30

वहाँ एक सटीक मैच के बजाय एक एमएस वर्ड दस्तावेज़ के अंदर पैटर्न देखने का एक तरीका है?

मेरे पास एक दस्तावेज है जहां सभी डिकिमल्स को /इसके बजाय लिखा गया है .। उदाहरण के लिए, के 1.02रूप में लिखा गया है 1/02, क्योंकि फारसी टाइपोग्राफी दशमलव बिंदु /के .लिए उपयोग करता है ।

जैसा कि /केवल दशमलव के लिए उपयोग नहीं किया जाता है, और इसके अन्य अनुप्रयोग हैं, उदाहरण के लिए, अंश, प्रतिशत, आदि, N/Mएक शब्द दस्तावेज़ के भीतर एक पैटर्न खोजने का एक तरीका है , जहां Nएक दशमलव को दर्शाता है और Mएक अन्य दशमलव संख्या भी दिखाता है?


2
सुपर यूजर द्वारा लॉन्च किए जाने के 5 साल बाद तक यह डुप्लिकेट कैसे नहीं है?
पीटर मॉर्टेंसन


वैसे इसे नोटपैड में स्थानांतरित करना मुश्किल होगा यदि बीच में अन्य पाठ थे, तो मान लें कि कोई एक जर्नल लेख लिख रहा है (कृपया इसके बजाय लेटेक्स का उपयोग करें) ताकि वे इसे शब्द से बाहर कर सकें, या उस प्रकृति का कुछ भी, वे अन्य सभी स्वरूपण को ढीला कर देगा।
चार्म_क्वार

1
मैंने अभी सत्यापित किया है: नवीनतम MS Word संस्करण Word दस्तावेज़ों (* .docx) को ज़िपित XML आधारित दस्तावेज़ों के रूप में संग्रहीत करता है। एक बार जब आप यह जान लेते हैं कि यह संरचना कैसे काम करती है, तो आप अपनी * .docx फ़ाइल को अनज़िप कर सकते हैं और परिणामस्वरूप XML फ़ाइल संरचनाओं में एक पैटर्न मैच कर सकते हैं।
डोमिनिकन

@Dominique जो दिलचस्प है। पता नहीं था कि
कोडज़ूनरी

जवाबों:


12

एक शब्द दस्तावेज़ के भीतर 'एन / एम' की तरह, जहां एन एक दशमलव को दर्शाता है और एम एक अन्य दशमलव संख्या भी दिखाता है

बस एक खोज के लिए आप ^#/^#अपने खोज पैरामीटर के रूप में उपयोग कर सकते हैं । अधिक विकल्पों के तहत , और विशेष ढूंढें , कुछ अन्य विकल्प हैं जो सहायक हो सकते हैं।

Nb: ^#एक दशमलव स्थान है इसलिए यदि आप विशेष रूप से x / yy के लिए देख रहे हैं तो यह होगा ^#/^#^#आदि।

बदलने के लिए,

यह एक बेहतर विकल्प है, खोज करें ([0-9])/([0-9])और उसके साथ बदलें \1.\2और "वाइल्डकार्ड्स का उपयोग करें" सक्षम करें


धन्यवाद। यह हिट पाता है। लेकिन वर्ड प्रतिस्थापन भाग के लिए ^ #। ^ # को स्वीकार नहीं करता है। मैं '/' के आसपास के अंकों को छोड़ना चाहता हूं और '/' के साथ '/' को प्रतिस्थापित करना चाहता हूं।
कोडजॉम्बी

1
इसके साथ एक खोज करने का प्रयास करें, "([0-9]) / ([0-9])" और "\ 1. \ 2" के साथ प्रतिस्थापित करें, दोहरे उद्धरण को बाहर निकालें। और "वाइल्डकार्ड्स का उपयोग करें" को सक्षम करें
चार्म_क्वार

37

शब्द

Microsoft की नियमित अभिव्यक्ति के कार्यान्वयन का उपयोग करें

प्रेस CTRL+ H» अधिक पर क्लिक करें» वाइल्डकार्ड का उपयोग सक्षम करें

  • क्या ढूँडो: ([0-9]{1,2})/([0-9]{2})
  • से बदलो: \1.\2

यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें

यह एक पागल खोज पैटर्न की तरह दिखता है तो आइए इसकी जाँच करें:

  • [0-9] एक एकल संख्यात्मक मूल्य (0,1,2,3,4,5,6,7,8 और 9) के लिए खड़ा है
  • {1,2}पिछले चरित्र या अभिव्यक्ति की घटनाओं की गिनती के लिए प्रयोग किया जाता है। हमारे मामले में इसका मतलब है: केवल एक या दो अंक के लिए खोजें

    सावधानी: यदि आप एक जर्मन शब्द का उपयोग कर रहे हैं, तो आपको ;इसके बजाय विभाजक के रूप में उपयोग करना होगा,

  • /कोई विशेष अर्थ नहीं है। यह सचमुच एक स्लैश खोजता है
  • ()गोल कोष्ठक महत्वपूर्ण हैं। वे तार्किक दृश्यों में पैटर्न विभाजित तो हम बाद में उपयोग कर सकते हैं \1, \2... \nहमारे बदलने के पैटर्न में। इस तरह हम मूल्यों का संरक्षण करते हैं

अनुभाग पर अधिक पढ़ें , Microsoft के समर्थन लेख में या ग्राहम मेयर की वर्ड साइट पर टुकड़ा द्वारा टुकड़ा


VBA (बेहतर समाधान)

मैं आपको एक VBA विधि का उपयोग करने का सुझाव देता हूं जो अन्य RegEx इंजन से डिफ़ॉल्ट के लिए अधिक पालन करता है। वे बेहतर दस्तावेज हैं और अधिक लोग आपकी मदद कर सकते हैं।

यह मैक्रो पूरे दस्तावेज़ में खोज करने के लिए एक RegEx पैटर्न पूछता है और इसे आपके दिए गए स्ट्रिंग के साथ बदल देता है।

VBA संपादक खोलने के लिए ALT+ दबाएं F11। कहीं भी कोड पेस्ट करें और इसे निष्पादित करेंF5

Sub RegexReplace()

    Dim RegEx As Object
    Set RegEx = CreateObject("VBScript.RegExp")    
    On Error Resume Next

    RegEx.Global = True
    RegEx.Pattern = InputBox("Find what:")
    ActiveDocument.Range = _ 
        RegEx.Replace(ActiveDocument.Range, InputBox("Replace with:"))        

End Sub
  • क्या ढूँडो: (?!\d)/(?=\d)
  • से बदलो: .

यहाँ छवि विवरण दर्ज करेंयहाँ छवि विवरण दर्ज करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.