সন্ধান করুন এবং প্রতিস্থাপন করুন - ক্যারেজ রিটার্ন যুক্ত করুন বা নিউলাইন


183

নিম্নলিখিত স্ট্রিংকে পার্স করার ক্ষেত্রে।

ford mustang,10,blue~~?bugatti veyron,13,black

আমি ~~?একটি সঙ্গে প্রতিস্থাপন করতে চানcarriage return

কেবল পরিবর্তে \nস্ট্রিং যুক্ত করা হয়"\n"

কিভাবে এই কাজ করা যেতে পারে?

উত্তর:


272

"ব্যবহার করুন: নিয়মিত এক্সপ্রেশন" সন্ধান করুন এবং প্রতিস্থাপন কথোপকথনে নির্বাচন করা হয়েছে তা নিশ্চিত করুন:

ডায়ালগ সন্ধান করুন / প্রতিস্থাপন করুন নিয়মিত এক্সপ্রেশন ব্যবহার করুন

দ্রষ্টব্য যে ভিজুয়াল স্টুডিও 2010 এর জন্য, এটি ভিজ্যুয়াল স্টুডিও উত্পাদনশীলতা শক্তি সরঞ্জামগুলির "কুইক ফাইন্ড" এক্সটেনশনে (জুলাই ২০১১ আপডেট হিসাবে) কাজ করে না; পরিবর্তে, আপনাকে পূর্ণ সন্ধান এবং প্রতিস্থাপন ডায়ালগ (Ctrl + Shift + H ব্যবহার করুন বা সম্পাদনা -> সন্ধান করুন এবং প্রতিস্থাপন করুন -> ফাইলগুলিতে প্রতিস্থাপন করুন) ব্যবহার করতে হবে এবং সুযোগটি "বর্তমান নথিতে" পরিবর্তন করতে হবে।



3
এবং যদি আপনি বিশেষ অক্ষরগুলির সাথে যেমন বন্ধনীগুলি মেলানোর চেষ্টা করছেন তবে যেমন \)নিয়মিত প্রকাশ থাকে তখন ... ব্যবহার করতে ভুলে যান না ...
সেল

2
?চরিত্র কারণ এটি প্রকাশ করে যে আগের উপাদান ঐচ্ছিক Regex মধ্যে পলান করা প্রয়োজন। সুতরাং, সঠিক "খুঁজে বার করুন" পাঠ্যটি কীভাবে ~~\?একটি চিহ্ন পিছনে প্রশ্ন চিহ্নটি পালিয়ে গেছে। আপনি যে উত্তরটি দিয়েছেন তা নমুনা পাঠ্যের উপরে কাজ করে কারণ এটি লোভের সাথে দ্বিতীয় টিল্ডটি খুঁজে পাবে এবং এটি গ্রাস করবে, তবে যদি একটি টাইল্ডও পাঠ্যটিতে কোথাও উপস্থিত থাকে, তবে এটি অন্যায়ভাবে একটি নতুন লাইনেও প্রতিস্থাপন করা হবে।
এরিক

যদি উত্পাদনশীলতা পাওয়ার সরঞ্জামগুলি ইনস্টল করা থাকে তবে আপনি নেটিভ ভিজ্যুয়াল স্টুডিও ফাইন্ড / রিপ্লেস উইন্ডোটি খুলতে ctrl + shit + h এবং তারপরে ctrl + h করতে পারেন।
নেব

এটি লক্ষ করা উচিত যে "যদি নিয়মিত এক্সপ্রেশন ব্যবহার করুন" নির্বাচন করা হয় তবে কেউ নতুন লাইনগুলি সন্ধান করতে (এবং প্রতিস্থাপন) করতে "\ n" ব্যবহার করতে পারে ।
জ্যাকব লকার্ড

28

আপনি \x0d\x0aভিজ্যুয়াল স্টুডিও ফাইন্ড / রিপ্লেস ব্যবহার করে ক্যারেজ রিটার্ন + লাইন ফিড পেতে চেক করা "নিয়মিত এক্সপ্রেশন ব্যবহার করুন" বাক্সটি দিয়ে "প্রতিস্থাপন করুন" বাক্সেও চেষ্টা করতে পারেন । \n(লাইন ফিড) ব্যবহার করা সমান\x0a


13

আপনি যদি "নিয়মিত এক্সপ্রেশন ব্যবহার করুন" পতাকা সেট করেন তবে \ n অনুবাদ করা হবে। তবে মনে রাখবেন যে আপনাকে পুনরায় এক্সপ্রেসকে বন্ধুত্বপূর্ণ হওয়ার জন্য আপনাকে অনুসন্ধান শব্দটি পরিবর্তন করতে হবে। আপনার ক্ষেত্রে এটি "" ~ ~ \ ~ \ "এর মতো পালাতে হবে?" (কোনও উদ্ধৃতি নেই)


3
'~' রেগেক্সে পালাতে হবে না। এটি একটি আক্ষরিক চরিত্র। এটি ভুল।
এরিক

12

আপনি যদি নিয়মিত ভাব প্রকাশের সময় আপনার অনুসন্ধান এবং প্রতিস্থাপনের স্ট্রিংয়ের বিশেষ অক্ষরগুলি থেকে পালানোর ঝামেলা এড়াতে চান তবে নিম্নলিখিত পদক্ষেপগুলি করুন:

  1. আপনার আসল স্ট্রিংটি অনুসন্ধান করুন এবং এটিকে "ইউনিক স্ট্রিং 42" দিয়ে নিয়মিত এক্সপ্রেশন বন্ধ করে প্রতিস্থাপন করুন ।
  2. "ইউনিক স্ট্রিং 42" অনুসন্ধান করুন এবং এটিকে নিয়মিত প্রকাশের সাথে "ইউনিক স্ট্রিং 42 U n ইউনিক স্ট্রিং 1337" দিয়ে প্রতিস্থাপন করুন
  3. "ইউনিক স্ট্রিং 42" অনুসন্ধান করুন এবং আপনার প্রতিস্থাপনের প্রথম লাইনে (প্রায়শই আপনার মূল স্ট্রিং) নিয়মিত অভিব্যক্তি সহ এটি প্রতিস্থাপন করুন বন্ধ
  4. "ইউনিক স্ট্রিং 42" অনুসন্ধান করুন এবং এটিকে আপনার প্রতিস্থাপনের দ্বিতীয় লাইনের সাথে নিয়মিত এক্সপ্রেশন বন্ধ করে প্রতিস্থাপন করুন

নোট করুন যে আপনি যদি প্রথম অনুসন্ধান এবং প্রতিস্থাপনের জন্য ম্যানুয়ালি ম্যাচগুলি পিচ করতে চান তবে আপনি তিনটি শেষ ধাপে নিরাপদে "সমস্ত প্রতিস্থাপন" ব্যবহার করতে পারেন।

উদাহরণ

উদাহরণস্বরূপ, আপনি যদি এটি প্রতিস্থাপন করতে চান:

public IFoo SomeField { get { return this.SomeField; } }

যে সাথে:

public IFoo Foo { get { return this.MyFoo; } }
public IBar Bar { get { return this.MyBar; } }

আপনি নিম্নলিখিত বিকল্পগুলি করতে হবে:

  1. public IFoo SomeField { get { return this.SomeField; } }XOXOXOXO(রেজেেক্স অফ )
  2. XOXOXOXOXOXOXOXO\nHUHUHUHU(পুনরায় চালু )
  3. XOXOXOXOpublic IFoo Foo { get { return this.MyFoo; } }(রেজেেক্স অফ )
  4. HUHUHUHUpublic IFoo Bar { get { return this.MyBar; } }(রেজেেক্স অফ )

@ অ্যালেক্সের যদি আপনার এই সমস্যার কোনও কার্যকর সমাধান থাকে যা নিয়মিত অভিব্যক্তিতে রূপান্তর করার সময় ম্যানুয়ালি আপনার অনুসন্ধান থেকে বাঁচতে এবং পাঠ্যটি প্রতিস্থাপন করা থেকে দূরে থাকে এবং দৈত্যটি ঠিক সেইভাবে তৈরি করা 10 মিনিট সময় ব্যয় করে শুনে আমি খুব আনন্দিত হব এটি, যেহেতু আমার উত্তরটি কেবল একটি কুৎসিত হ্যাক। তবে আপনি দেখতে পাচ্ছেন যে অতিরিক্ত প্লাগ-ইন ছাড়াই ভ্যানিলা ভিজ্যুয়াল স্টুডিওতে কাজ করা অন্যান্য সমস্ত উত্তরগুলির জন্য নিয়মিত প্রকাশের প্রয়োজন হয় এবং এইভাবে সরল পাঠ্য থেকে দূরে।
সুজান ডুপোরন

2
আমি এটি খারাপ উপায়ে বলতে চাইনি। আমার ক্ষমা আমি একটি স্মাইলি রাখতে ভুলে গেছি: ডি সমাধান হিসাবে, আমার কাছে ভিএস জড়িত এমন একটি নেই তবে আমি দেখতে পেয়েছি যে রেগেক্স (নোটপ্যাড ++ ইত্যাদি) সমর্থনকারী কোনও শালীন বহিরাগত সম্পাদক বেশ ভালভাবে কাজ করে।
অ্যালেক্স

2
UltraEdit অনুসন্ধান প্রতিস্থাপনের রাজা - এখানে আপনি lines লাইনগুলি চিহ্নিত করে এবং অনুসন্ধান শুরু করে নতুন লাইন, লাইন ব্রেকগুলি বা যা কিছু সন্ধান করুন। - প্রতিস্থাপনের জন্য আপনি সরলভাবে \ n এর জন্য ^ n, for r এর জন্য and r এবং \ t এর জন্য প্রবেশ করুন - যদি কেবল ভিএস 2010 একই কাজ করে :-)
মিরোস

আপনার অনুসন্ধানের স্ট্রিংটি আক্ষরিক অক্ষরের সাথে মেলে কিনা বা রেজেক্স নিয়ন্ত্রণের অক্ষর হিসাবে ব্যাখ্যা করা হবে কিনা তা দেখতে আপনি সর্বদা regex101.com দেখতে পারেন।
এরিক

7

আপনি ভিজ্যুয়াল স্টুডিও ম্যাক্রোতে মাল্টলাইন অনুসন্ধান এবং প্রতিস্থাপন ব্যবহার করতে পারেন যা কার্যটির জন্য দুর্দান্ত জিইউআই সরবরাহ করে।

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


কিছু অতিরিক্ত পদক্ষেপ ছাড়াই ভিজ্যুয়াল স্টুডিও 2017 এর সাথে কাজ করছে বলে মনে হচ্ছে না, অর্থাত "ফাইলগুলিতে সন্ধান করুন" ক্লিক করতে হবে তারপরে সেই ডায়লগগুলির সুযোগ পরিবর্তন করতে হবে, শর্টকাট ডিফল্ট এখন f # ইন্টারেক্টিভ।
মার্ক স্কুলথিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.