नोटपैड ++ प्रत्येक पंक्ति में केवल पहले स्थान के बाद एक वर्ण जोड़ने की कोशिश कर रहा है


2

मेरे पास ३०,००० पंक्तियाँ हैं, जिनमें उनमें रिक्त स्थान की संख्या है। मुझे प्रत्येक पंक्ति में केवल पहले स्थान पर एक वर्ण जोड़ने की आवश्यकता है। कोई भी जो कुछ भी सुझा सकता है, उसकी बहुत सराहना की जाएगी।


कृपया संपादित और पहले और उदाहरण के बाद प्रदान करते हैं। प्रत्येक के लिए कुछ पंक्तियाँ पर्याप्त होनी चाहिए।
DavidPostill

जवाबों:


1
  • Ctrl+H
  • क्या ढूँडो: ^\S+\h\K
  • से बदलो: %
  • चारों ओर लपेटें
  • नियमित अभिव्यक्ति की जाँच करें
  • Replace all

स्पष्टीकरण:

^           # beginning of line
  \S+       # 1 or more non space
  \h        # 1 horizontal space
  \K        # forget all we've seen until this position

रिप्लेसमेंट:

%           # the character to insert

दिया हुआ:

I have 30,000 lines of text that have randon 
number of spaces in them. I need to add a character 
to just the first SPACE in each line. 
Any who can suggest anything would be 
greatly appreciated.

दिए गए उदाहरण के लिए परिणाम:

I %have 30,000 lines of text that have randon 
number %of spaces in them. I need to add a character 
to %just the first SPACE in each line. 
Any %who can suggest anything would be 
greatly %appreciated.

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


0

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

https://www.textpad.com/


धन्यवाद, मैंने यह कोशिश की थी, लेकिन SPACE हमेशा लाइन पर एक ही स्थान पर नहीं होता है। मैक्रो केवल चरित्र जोड़ने से पहले आंदोलनों को गिनता है, यह प्रत्येक पंक्ति में SPACE के लिए नहीं दिखता है। Othe.rwise कि ठीक काम होता
डेविड विलियम्स

आप अपने मैक्रो में स्थान की खोज कर सकते हैं। जब आप अपना मैक्रो रिकॉर्ड करते हैं, तो उसे खोजकर सरल करें।
डेल

धन्यवाद डेल, यह अच्छी तरह से काम किया। बस अब बाद में सोचना सीखना होगा। -)
डेविड विलियम्स

बहुत बढ़िया। मुझे डेटा की सफाई के लिए कई बार ऐसा करना पड़ा है। कृपया मेरे उत्तर को चिह्नित करें। :)
डेल

ओह डेल मेरे जवाब की जाँच करें क्योंकि यदि आपने एक मैक्रो का उपयोग किया है तो कई बार आप खुद को नियमित अभिव्यक्तियों के आनंद के बारे में जानने में रुचि रख सकते हैं।
वोल्फकिन

0

आप जो देख रहे हैं वह नियमित अभिव्यक्ति है। पहली चीज जो आप करना चाहते हैं, वह है अपनी खोज को नियमित अभिव्यक्तियों में बदलना

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

खुशी होगी क्योंकि मुझे लगता है कि मुझे पता है कि इसे कैसे हल किया जाए

https://regex101.com/r/aW4gG2/1

जो अभिव्यक्ति आप चाहते हैं वह है:
खोजें: (^.*?)( )
प्रतिस्थापित करें:\1#\2

जिस तरह से यह काम करता है वह नियमित अभिव्यक्तियों में निम्नानुसार ()है "कब्जा"। इसका मतलब है कि यह इस विशिष्ट समूह को ढूंढ लेगा और फिर आप इसे प्रतिस्थापन में \ 1 या \ 2 या \ 3 से संदर्भित कर सकते हैं। संख्या 1 से शुरू होती है और आप खुले परिकल्पना से गिनती करते हैं

^मतलब लाइन की शुरुआत से शुरू करो। (क्योंकि आप चाहते हैं कि आपका इन्सर्ट FIRST स्पेस को कवर करने के लिए है, जिसे हम सामने से शुरू करने के लिए देखेंगे, पहला स्पेस मिलेगा)

.*?यह भाग अंतरिक्ष के सामने पहला शब्द खोजता है। यह एक समूह को किसी भी वर्ण ( .) में जितना संभव हो उतना बनाकर करता है ( *लेकिन सबसे कम आवश्यक है) ?। प्रश्न चिह्न के बिना आप हर वर्ण (सभी रिक्त स्थान सहित) पर कब्जा कर लेंगे

( )इस भाग का अर्थ है कि हमारा दूसरा समूह पहले वाले के बाद का स्थान है। यह पहला स्थान होना चाहिए। यही हम अपने चरित्र को सम्मिलित करना चाहते हैं।

स्थानापन्न

\1#\2

\1प्रथम वर्ण को संदर्भित करता है। और *अभिव्यक्ति में इसका मतलब है कि वर्ण सेट 0 सहित किसी भी लम्बाई का शब्द हो सकता है।

# सम्मिलित चरित्र है

\2\ बेशक अंतरिक्ष है।

नतीजा #हर पहली जगह के सामने रख रहा है। यदि आप चाहते हैं कि यह पहली जगह के बाद यह प्रतिस्थापन को समायोजित करने के रूप में सरल है

\1\2##हर पहली जगह प्रति पंक्ति के बाद रखा जाएगा ।


यह नियमित अभिव्यक्ति की शक्ति है। एक साधारण खोज और प्रतिस्थापन किसी भी मैक्रो की तुलना में अधिक सटीक रूप से सम्मिलित कर सकते हैं। यह लचीला है यह तेज़ है और अधिकांश समय यह उतना कठिन नहीं है।

यहाँ एक महान स्टार्टर ट्यूटोरियल है जो यह बताना चाहिए कि RegEx क्या है और यह क्यों उपयोगी है। [ RegExOne ]। आरईओ वह है जो मुझे समझने के लिए मिला है

यह एक ट्यूटोरियल है जो बहुत से लोग सलाह देते हैं कि ईमानदारी से मैं बहुत समझ नहीं बना सकता। [ RegEx.Info ]

मैं वास्तव में कभी भी RegEx.info में वापस नहीं गया था मैं सीधे नोटपैड ++ डॉक्यूमेंटेशन में कूद गया जो वास्तव में इस बिंदु पर बहुत उपयोगी था। वह और निश्चित रूप से आप [ RegEx101 ] के साथ परीक्षण कर सकते हैं । केवल एक चीज जो आप करना चाहते हैं वह /gmहै अभिव्यक्ति में जोड़ना । तब आप टेस्टस्ट्रीमिंग में सिर्फ एक स्निपेट पेस्ट कर सकते हैं और तब तक अभ्यास कर सकते हैं जब तक आप इसे सही न कर लें।

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

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