আমি কীভাবে ইনটেলিজ আইডিইএর ছোট হাতের সাথে বড় হাতের অক্ষর প্রতিস্থাপন করতে একটি রেজেেক্স ব্যবহার করতে পারি?


92

আমি এটির জন্য গুগল করেছি এবং অন্যান্য রেজেক্স পার্সারদের সাথে কীভাবে করব তা খুঁজে পেয়েছি:

http://vim.wikia.com/wiki/Changing_case_with_regular_expressions
http://www.regular-expressions.info/replacecase.html

আমি এগুলি চেষ্টা করেছি এবং উভয়ই কাজ করি না। উদাহরণ হিসাবে, আমি এটি পরিবর্তন করতে একটি রেজেেক্স ব্যবহার করতে চাই:

private String Name;
private Integer Bar = 2;

এটি:

private String name;
private Integer bar = 2;

আমি এরকম কিছু চেষ্টা করেছি:

replace: private (\S+) (\S+)
with: private $1 $L$2
with: private $1 \L$2
with: <etc.>

এদের কেউই কাজ করে না। ইন্টেলিজে এটি করা সম্ভব, না এটি কোনও অনুপস্থিত বৈশিষ্ট্য? এটি কেবলমাত্র শিক্ষাগত উদ্দেশ্যে এবং উদাহরণটি স্বীকৃত। আমি শুধু জানতে চাই যে এটি ইন্টেলিজে করা সম্ভব কিনা।


4
আপনি একটি রেইগেক্স ব্যবহার করতে চান এমন কোনও কারণ আছে? এটি করার জন্য ইন্টেলিজের কাছে হটকি শর্টকাট রয়েছে
আজপ 15243

@ ajp15243 এটি কেবল শিক্ষামূলক উদ্দেশ্যে এবং উদাহরণটি স্বীকৃত। আমি আক্ষরিকভাবে জানতে চাই যে এটি ইন্টেলিজে করা সম্ভব কিনা।
ড্যানিয়েল কাপলান

4
যথেষ্ট ফর্সা! শুধু নিশ্চিত করতে চেয়েছিলেন। আমি ইন্টেলিজিজ রেগেক্স সিনট্যাক্স রেফারেন্স পেয়েছি এবং মন্তব্যে কেউ আপনার মত একই প্রশ্ন জিজ্ঞাসা করছে। একজন মডারেটর উত্তর দিয়েছে (এবং আমি কিছুটা ভুল বুঝেছি বলে মনে করি), তবে উত্তরটি ইঙ্গিত করে যে এটি ইন্টেলিজের রেজেক্স সিনট্যাক্সের মাধ্যমে সম্ভব নয়।
আজপ15243

আপনি সর্বদা এটির জন্য একটি প্লাগইন লিখতে পারেন।
মেও

4
@ টিটিওয়াইটি জিওগাংগুলি বেশ ভাল, আমি তাকে এটি দিয়ে দেব :)।
এজেপি 15243

উত্তর:


174

আইডিইএ 15-তে আপনি বন্দী মত প্রকাশের ক্ষেত্রে টগল করতে নীচের স্যুইচগুলি ব্যবহার করতে সক্ষম হন। এই এখন হয় আনুষ্ঠানিকভাবে নথিভুক্ত যেহেতু এই সংস্করণে মুক্তি পায়।

  • \l: পরবর্তী একটি চরিত্রের কেস কম করুন
  • \u: পরবর্তী একটি চরিত্রের ক্ষেত্রে আপ
  • \L: \Eপ্রতিস্থাপনের স্ট্রিংয়ের এক বা শেষ অবধি পরবর্তী অক্ষরগুলির কেস কম করুন
  • \U: \Eপ্রতিস্থাপনের স্ট্রিংয়ের এক বা শেষ অবধি পরবর্তী অক্ষরগুলির ক্ষেত্রে আপ করুন
  • \E: \Uবা দ্বারা শুরু করা কেস পরিবর্তনের শেষ চিহ্নিত করুন\L

এখানে একটি উদাহরণ ব্যবহার রয়েছে (যেহেতু ডকুমেন্টেশন পরিষ্কার নয়):

সন্ধান করুন: (\ ডাব্লু + _) + (\ ডাব্লু +) প্রতিস্থাপন: \ এল $ 1 $ 2 \ ই

উপরে রূপান্তর করবে FOO_BAR_BAZকরার foo_bar_bazইত্যাদি $ 1 প্রথম পাওয়া ক্যাপচার গ্রুপ (প্রথম বন্ধনী মধ্যে), দ্বিতীয় সেটে $ 2, ইত্যাদি বোঝায়

উত্তরসূরির জন্য: এটি প্রাথমিকভাবে @ কেওআওগং দ্বারা রিপোর্ট করা হয়েছিল এবং সেখানে নথিভুক্ত করা হয়েছিল


13

উত্তরের জন্য অনুসন্ধান করা হয়েছে এবং তারপরে বুঝতে পেরেছেন @ @jp15243 ইতিমধ্যে উপরে এটির উত্তর দিয়েছে। কোনও চিঠির কেস পরিবর্তনের জন্য ইন্টেলিজ তাদের রেজেক্স রিপ্লেসমেন্ট ফিচারটি ব্যবহার করে বর্তমানে কোনও উপায় নেই। বৈশিষ্ট্যটি সম্পর্কে নিম্নলিখিত ইউআরএলে একটি সংক্ষিপ্ত আলোচনা রয়েছে।

http://www.jetbrains.com/idea/webhelp/regular-expression-syntax-references.html

আপনি এখানে Youtrack ইস্যুতে বৈশিষ্ট্যটির পক্ষেও ভোট দিতে পারেন:

http://youtrack.jetbrains.com/issue/IDEA-70451

একটি রেজেক্স ইন্টেলিজ প্লাগইন রয়েছে, তবে হায় আফসোস এটি লোয়ার এবং আপার-কেসিং সমর্থন করে না।

http://plugins.jetbrains.com/plugin/19?pr=idea

এগুলি সঠিকভাবে প্রতিস্থাপন করতে আপনাকে পার্ল প্রোগ্রামের মাধ্যমে কেবল ফাইলগুলি চালাতে হবে।


4
আপনার ট্র্যাক অনুসারে, এটি ইন্টেলিজের 15 সংস্করণে যুক্ত করা হচ্ছে
কেভিন শিহান

6

আমি আইডিয়া ভিম প্লাগইন ব্যবহার শুরু করেছি এবং ভিমে এই জাতীয় জিনিসগুলি করতে শিখি। এইভাবে আমি আইডিয়া বাইরে এই দক্ষতা আবার ব্যবহার করতে পারে।

আপনি যা চেয়েছিলেন তা করার জন্য এখানে ভিএম কমান্ডটি দেওয়া আছে।

:%s/private\s\(\w*\)\s\(w*\)/private \1 \L\2/g

আইজেই-র মধ্যে রেজেক্স প্রবেশ করা হচ্ছে। ভিমে রেগেক্স প্যাটার্নটি এড়াতে অতিরিক্ত স্ল্যাশ প্রয়োজন।

আইডিই এর মধ্যে

আইডিই এর মধ্যে থেকে প্লাগইন সন্ধান করুন। এখানে চিত্র বর্ণনা লিখুন


4
বিশাল ভারসাম্য যা সম্ভবত এখানে 99% মানুষকে সাহায্য করবে না কারণ তারা ভিআইএম অনুকরণ ব্যবহার করতে চায় না। তবে, আমি ইতিমধ্যে এই প্লাগইনটি ইনস্টল করে দিয়েছি যাতে এটি আমার জন্য কার্যকর হয় :)
ড্যানিয়েল কাপলান

4
আমি জানি .. আইডিই ব্যবহার করে যে কারও কাছে শুরুতে ভিআইভি এবং ভিমকে দুষ্টু মনে হয় না। সার্ভারে তাদের মুখোমুখি হওয়ার পরে অবশেষে আমি ভি শিখতে শুরু করি। আমি এখন এটাকে পছন্দ করি যেহেতু আমি সরঞ্জামগুলির মধ্যে যাওয়ার সাথে সাথে আমার মানসিকতাগুলি স্যুইচ করতে হবে না।
চিন্তো

আমি এটি দিয়ে কেবল শুরু করছি, এখনও সাবলীল নয়। আপনি কি মনে করেন আপনি ভাই ব্যবহার করার আগে আইডিইএভিমের সাথে ইন্টেলিজ-আইডিইএতে আরও উত্পাদনশীল সম্পাদনা করছেন?
ড্যানিয়েল ক্যাপলান

4
আরও অনেক বেশি .. আমি গ্রহনের সাথে ভাল থাকতাম। তারপরে ইন্টেলিজে স্থানান্তরিত হয়ে এর বেশিরভাগ কৌশল শিখেছে। তারপরে উপলব্ধি হয়ে গেল যে ভিম শিখলে তা আমাকে একবারে সার্ভার এবং ওয়ার্কস্টেশনে ভাল করে তুলবে। আমি আরও দেখছি যে টেক্সট ম্যানিপুলেশন এবং নেভিগেশনে ভিম আরও বেশি শক্তিশালী। আমি এখনও আইডিই শর্টকাটগুলি আইডিই শর্টকাটগুলি ব্যবহার করি যেমন রিফ্যাক্টরিং এবং রেফারেন্সগুলি খুঁজে পাওয়া এবং ডিএফ এ যেতে ইত্যাদি It's
চিন্তো

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