নোটপ্যাড ++ এ ^ এবং between এর মধ্যে পাঠ্যটি সন্ধান করুন এবং প্রতিস্থাপন করুন


22

আমার কাছে একটি বড় টেক্সট ফাইল রয়েছে যেখানে আমি ^ চিহ্ন এবং ~ চিহ্নের মধ্যে থাকা সমস্ত পাঠ্য সরাতে চাই। এটি পাশাপাশি লাইন জুড়ে কাজ করা প্রয়োজন।

আমি ^*~অনুসন্ধান বাক্সে নিয়মিত অনুসন্ধান এবং প্রতিস্থাপন করার চেষ্টা করেছি এবং প্রতিস্থাপন বাক্সে কিছুই নেই তবে এটি 0 ফলাফল পেয়েছে।

উত্তর:


24

এটি নিয়মিত অনুসন্ধান এবং প্রতিস্থাপনের মাধ্যমে সম্ভব নয় । আপনি যদি নোটপ্যাড ++ 6 ব্যবহার করেন, আপনি পিসিআরই ( উত্স ) সমর্থনকারী নতুন রেইগেক্স ইঞ্জিনের সুবিধা নিতে পারেন ।

অনুসন্ধান এবং প্রতিস্থাপন ডায়ালগটি খুলতে এবং নিম্নলিখিত ক্রিয়াটি সম্পাদন করতে Ctrl+ টিপুন :H

Find what:          \^.*?~
Replace with:       
Wrap around:        checked
Regular expression: selected
. matches newline:  checked

সমস্ত উপস্থিতি প্রতিস্থাপন করতে এখন Alt+ টিপুন A

নিম্নলিখিতটি কী রচিত তা নিয়মিত প্রকাশ করুন :

  • \^একটি আক্ষরিক ^
  • .*? এমন অক্ষরের সর্বনিম্ন পরিমাণ যা নিয়মিত প্রকাশকে মেলতে দেয়।
  • ~একটি আক্ষরিক ~

3
যদি আপনি পরিবর্তন করেন * *? ~ থেকে [^ ~] * ~ তবে এটি পিসিআরই প্রয়োজন / ব্যবহার না করেই কাজ করা উচিত।
বারলপ

1
@ বারলপ: আমি অনুসন্ধানের মোড হিসাবে নিয়মিত সন্ধান এবং প্রতিস্থাপন করেছি : সাধারণ , নিয়মিত অভিব্যক্তি ব্যবহার করে সন্ধান এবং প্রতিস্থাপন নয় । এটি একটি ভুল বোঝাবুঝি হতে পারে। যাইহোক, আমি যদি সঠিকভাবে মনে রাখি তবে 6 এর আগের সংস্করণগুলি বহু-লাইন নিদর্শনগুলিকে সমর্থন করে না।
ডেনিস

.*?প্যাটার্ন আমার জন্য কাজ এর অক্ষরের মধ্যে অনুসন্ধান করতে ;এবং <। তাই সার্চ খুঁজতে ;.*?<REPLACE ;বিকল্পের জন্য নির্বাচিত Regular expressionএবং. matches new line
SherlockSpreadsheets

8

আপনি অনুসন্ধান \^.*?~এবং নিশ্চিত করতে চাইবেন । মেলে নতুন লাইন সক্ষম:

এখানে চিত্র বর্ণনা লিখুন

এটি কারণ ^একটি বিশেষ অর্থ আছে এটি একটি লাইনের শুরুতে মেলে। সুতরাং, আমাদের এটি একটি ব্যাকস্ল্যাশ দিয়ে পালাতে হবে \^

লেখার ^*সাথে "এক সারিতে শুরু হওয়া লাইনটির যে কোনও সংখ্যক" মিলবে। .*"যে কোনও চরিত্রের সাথে" মিলছে তবে ডিফল্টরূপে এটি নতুন লাইনের সাথে মেলে না।


2
রেজেক্সের লোভী আচরণ সম্পর্কে সতর্ক থাকুন। যদি একাধিক ~অক্ষর থাকে (বা অর্থাত্ একাধিক ম্যাচ) তবে ^এটি সর্বশেষের সর্বকালের সাথে প্রথম মিলবে ~
ভারী

@ ভারী << জিজ্ঞাসা> আপনি কি নিশ্চিত? তিনি ব্যবহার করেছেন *?যে লোভী নয় এটি অলস .*?~কখনও একের বেশি মিলবে না ~। সুতরাং এটি ঠিক আছে।
বারলপ

@ বারলপ: আমি উত্তর দেওয়ার সাথে সাথেই তিনি মন্তব্য করেছিলেন। এটি একটি নিনজা-সম্পাদনা ছিল।
ডের হচস্টাপলার

2

Re \^[^~]*~ এবং ~ এর মধ্যে সমস্ত কিছু প্রতিস্থাপন করতে অনুসন্ধান বিভাগে এই রেজেক্সটি ব্যবহার করার চেষ্টা করুন ।


এবং একচেটিয়াভাবে, তাহলে আমি মনে করি যে এর জন্য পিসিআরই প্রয়োজন, তারপরে কিছু করুন (? <= ^) [^ ~] * (?? = ~) এটি পরীক্ষা করার জন্য আমার কাছে এন ++ নেই, বুটিফ যা পরিবর্তনের চেষ্টা করে ব্যর্থ হয় (? <= ^) ) থেকে (? <= \ ^)
বারলপ

একচেটিয়াভাবে জন্য, কেবল সঙ্গে প্রতিস্থাপন ^~
ডেনিস

@ ডেনিস আমার অর্থ তিনি যদি ^ এবং between এর মধ্যে সবকিছুর প্রতিস্থাপন করতে চান তবে ^ এবং ~
বার্লপ

1
আপনি যদি প্রতিস্থাপন \^[^~]*~করেন তবে কি তা পাবেন না ^~?
ডেনিস

@ ডেনিস ওহ, আমি আপনাকে বোঝাতে চাইছি ভাল বিষয়।
বারলপ

0

আমার শুরু এবং শেষের অক্ষরগুলির সাথে আমার অনুরূপ BETWEEN প্রতিস্থাপনের প্রয়োজনীয়তা ছিল। এটি আউটলুক ইমেল থেকে এসেছে; সদস্যদের অন্তর্ভুক্ত এবং আমি <স্রেফটেক্সটহিরের মধ্যে সমস্ত কিছু মুছে ফেলা ব্যক্তির নাম চেয়েছিলাম >

মূল

First1 Last1 <First1.Last1@email.com>; First2 Last2 <First2.Last2@email.com>; First3 Last3 <First3.Last3@email.com>; First4 Last4 <First4.Last4@email.com>;

ডেনিস আমার সমাধানের খুব কাছাকাছি ছিল Find what: \^.*?~কিন্তু আমাকে আমার আক্ষরিক চরিত্রগুলি পরিবর্তন করতে হয়েছিল Find what: \<.*?>তখন আমাকে প্রথম স্ল্যাশ সরিয়ে ফেলতে হয়েছিল Find what: <.*?>

আপডেট করা Find what: <.*?> ; খালি প্রতিস্থাপন করুন।

First1 Last1 ; First2 Last2 ; First3 Last3 ; First4 Last4

: _

বিশেষ অক্ষর : *, $, \, +, ^, (এবং ), [, ], {এবং}

বিশেষ চরিত্রগুলি জেরি জেরেমিয়া এখানে বর্ণিত হয়েছে /programming/37742519/notepad-wildcard


যে প্রশ্নের উত্তর দেয় না।
পুরো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.