নোটপ্যাড ++ ব্যবহার করে আন্ডার_স্কোর_সাকে ক্যামেলকেসে পরিবর্তন করতে চান?


19

আমি এনপি ++ এ নিয়মিত এক্সপ্রেশন লিখতে পারি under_score_case। হাইলাইট করে এবং নির্বাচন করে কেস কে আপার এবং লোয়ার কেসগুলিতে পরিবর্তন করতে আমি এনপি ++ তে টেক্সটএফএক্স ব্যবহার করতে পারি।

আমি কিভাবে ব্যবহার করতে পারেন দ্বারা NP ++, এর সন্ধান / প্রতিস্থাপন বা TextFX খুঁজে এই একসাথে ধর্মান্তরিত সেলাই প্রতিস্থাপন under_score_caseকরতে camelCase?

আমি স্ক্রিপ্ট ব্যবহার না করে এনপি ++ এ এটি কীভাবে করব তা শিখতে চাই।

নমুনা ইনপুট:

this is_a_line
some more_data_over_here
whoop de_do_da

পছন্দসই আউটপুট:

this isALine
some moreDataOverHere
whoop deDoDa

আন্ডারস্কোরগুলি মিলানোর জন্য রেজেক্সটি হবে _([a-z])। আমার মনে হয় যে প্রতিস্থাপনটি বিদ্যমান, তবে আমি এটির মতো কিছু খুঁজে পাচ্ছি না _\toupper\1

উত্তর:


6

আমার কাছে এমন একটি সমাধান রয়েছে যা দীর্ঘ এবং সঙ্কীর্ণ, তবে নোটপ্যাড ++ এ কাজ করবে। এটিতে রেজেেক্স, allyচ্ছিকভাবে সাধারণ অনুসন্ধান এবং প্রতিস্থাপনের পাশাপাশি টেক্সটএফএক্স ব্যবহার প্রয়োজন।

  1. প্রতিটি শব্দের সামনে একটি স্থানধারক চরিত্র যুক্ত করুন, আমি বেছে নিয়েছি Z। এটি সম্ভবত বর্ণানুক্রমিক হতে হবে না, তবে এটি শেষ ধাপের জন্য সহজ। রিজেক্স ব্যবহার করে অনুসন্ধান করুন \<([^ ]*)\>এবং এর সাথে প্রতিস্থাপন করুন Z\1
  2. একটি অনন্য স্থানধারক ক্রম দিয়ে বিদ্যমান স্পেসগুলি প্রতিস্থাপন করুন। আমি # স্থান # বেছে নিয়েছি। এটি রেজেক্সের সাহায্যে করা যেতে পারে তবে আমি স্বাভাবিক বা প্রসারিত ব্যবহার পছন্দ করি।
  3. শূন্যস্থান দিয়ে আন্ডারস্কোরগুলি প্রতিস্থাপন করুন। যদি এমন কোনও আন্ডারস্কোর থাকে যা প্রতিস্থাপন করা উচিত নয়, তবে সম্ভবত একটি কাস্টম রেজেক্স প্রয়োজন। আমি কেবল একটি সরল অনুসন্ধান এবং প্রতিস্থাপন করেছি।
  4. সমস্ত পাঠ্য এবং টেক্সটএফএক্স মেনু থেকে নির্বাচন করুন TextFX Characters -> Proper Case
  5. এখন আমাদের প্রথম 3 টি ধাপ বিপরীত করা দরকার। স্পেস অনুসন্ধান করুন এবং এগুলিকে কিছুই দিয়ে প্রতিস্থাপন করুন। তারপরে আপনার স্থান স্থানধারক ক্রম অনুসন্ধান করুন এবং একটি স্থানের সাথে প্রতিস্থাপন করুন। অবশেষে, রেজেক্স ব্যবহার করে অনুসন্ধান করুন \<Z([^ ]*)\>এবং এর সাথে প্রতিস্থাপন করুন \1

কনভলিউটেড, তবে এটি কাজ করে।
ফ্রেইহাইট

রেজেক্সের সাথে নোটপ্যাড ++ এর ব্যর্থতাগুলি আমাকে এর আগে এমন সমাধানগুলির সাথে নিয়ে এসেছিল, বিশেষত যখন আমাকে লাইনগুলি সন্ধান করতে এবং প্রতিস্থাপন করতে বা ট্যাবটির মতো বিশেষ অক্ষর ব্যবহার করতে হবে।
এমবিরাডলি

একদিকে যেমন, এনপি ++ (মিঃ হো হিসাবে আমি স্মরণ করি) তে প্রকল্পের নেতৃত্ব কি ভিএম-এর মতো প্রতিস্থাপন সমর্থন প্রবর্তন সম্পর্কে কোনও আওয়াজ করেছে? কোন প্লাগইন সমর্থন করে? এনপি ++ এবং টেক্সটএফএক্স সত্যিই শক্তিশালী, তাদের একসাথে সেলাই করার জন্য তাদের আরও কিছুটা প্রয়োজন।
ফ্রেইহাইট

আমি সত্যিই এই প্রকল্পটি অনুসরণ করি না, তবে আমি কল্পনা করেছিলাম যে তিনি সিন্টিলার ব্যবহারে বাঁধা রয়েছেন।
এমবিরেডলি

1
এক সতর্কীকরণ: যদি প্রতিটি শব্দ দ্বিতীয় এবং পরবর্তী চরিত্র একটি বড় হাতের অক্ষর, এটা ছোট হাতের অক্ষর ব্যবহার করা হয়, যেমন ALL_CAPSহয়ে allCaps
জ্নুবি

15

একটি সাধারণ অনুসন্ধান / প্রতিস্থাপন এটি এনপি ++ এ করবে will

অনুসন্ধান: [_]{1,1}([a-z])

প্রতিস্থাপন করুন: \U$1

এটি কাজ করার জন্য আপনার প্রতিস্থাপন প্যানেলে 'নিয়মিত প্রকাশ' রেডিও বোতামটি নির্বাচন করতে হবে।


5
অথবা ঠিক _(.)অনুসন্ধানের স্ট্রিং হিসাবে।
ডমিনিক কম্টোইস

আপনি যদি পাস্কেলকেস চান (এক ধাপে) আপনি এটি ব্যবহার করতে পারেন : (?:^|_)([a-z]) প্রতিস্থাপন: \U$1$2
রুবেনিসমে

6

আমি সাধারণত সম্পাদক হিসাবে নিজেকে ভিএম ব্যবহার করি। নীচের নিয়মিত অভিব্যক্তিটি আপনি ভিমে যা করার চেষ্টা করছেন তা পূরণ করে:

%s/_\([a-zA-Z]\)/\u\1/g

আমি যা বলতে পারি তা থেকে ( আমি কিছুক্ষণের জন্য এনপি ++ দিয়ে বোকা বানিয়েছি ), নোটপ্যাড ++ \uপার্ল রেজেজেপ্সে বড় হাতের ম্যাক্রো বুঝতে পারে না । আপনি নোটপ্যাড ++ দিয়ে পুরোপুরি এটি করতে সক্ষম নাও হতে পারেন। আশা করি, কেউ আমাকে ভুল প্রমাণ করবেন এবং আপনার দিনটি তৈরি করবেন।


হ্যাঁ আমি একটি উইন্ডোজ পরিবেশে আটকে আছি। কোনও * নিক্স বা ওএস এক্স মেশিনে ডেটা অনুলিপি করা কাজ করে তবে এটি খুব কমই সুদৃশ্য। আমি এনপি ++ এ অন্য সতীর্থদেরও ক্রস-ট্রেন করতে পারি।
ফ্রেইহাইট

আমি মনে করি একই অভিব্যক্তি ই-ম্যাকগুলিতে কাজ করে। আমার ইম্যাক জ্ঞানটি দুর্গন্ধযুক্ত। । ।
সার্ফ্যাসব

@ ফ্রেইহাইট উইন্ডোজের জন্য একটি ভিম রয়েছে; যদিও এটি অন্যান্য সতীর্থকে এনপি ++ এ অতিক্রম করতে সহায়তা করবে না
ম্যাট্রিক্স মোল

এটি নোটপ্যাড ++ এর সাম্প্রতিক সংস্করণগুলিতে দুর্দান্ত কাজ করছে বলে মনে হচ্ছে (আমি 7. using..7 ব্যবহার করছি)।
লিভান্ট

3

আপনি নোটপ্যাড ++ এ এক ধাপে এটি করতে পারেন যা সম্ভবত আরও কার্যকর useful

Find: ([a-z]+)[_]?([a-z]?)([a-z]+)[_]?([a-z]?)([a-z]+)[_]?([a-z]?)([a-z]+)\.php
Replace: $1\U$2\L$3\U$4\L$5\U$6\L$7

এটির সাথে একমাত্র সমস্যাটি হ'ল আন্ডার স্কোরটি উপস্থিত হতে পারে এবং স্ট্রিংটি কীভাবে শেষ হয় তা সর্বাধিক সময় জানতে হবে। উপরের উদাহরণে, আমি পিএইচপি ফাইলের নামগুলি উট কেসে প্রতিস্থাপন করছি, জেনে যে আন্ডার স্কোরটি 3 বারের বেশি উপস্থিত হতে পারে না, কম সমস্যা নেই।


2

আমার ব্যক্তিগত প্রিয় সেড হয়। এটি দ্রুত বজ্রপাত:

> প্রতিধ্বনি_আর_কামেল_ক্যাস_প্লেজ | সেড-ই '/ (_ [এজে]) / \ ইউ \ 1 / জি' -ই 'এস / _ // জি'

makeMeCamelCasePlease

আপনি সম্পাদনা করছেন এমন কোনও ফাইলের প্রতিস্থাপন সম্পাদন করতে আপনি -i বিকল্পটি ব্যবহার করতে পারেন এবং N ++ পরিবর্তনটি বেছে নেওয়া উচিত।

এটি উপরের কয়েকটি সমাধান হিসাবে সমস্ত আন্ডারস্কোরগুলিও মুছে ফেলবে। এটি কোনও সমস্যা হলে এটি স্থির করা যেতে পারে।


2
  • নীচের পদক্ষেপগুলি অনুসরণ করে আমি নোটপ্যাড ++ ব্যবহার করে এটি করতে পারি snake

  • স্নপের কেস ইনপুটটিকে সমস্ত ছোট হাতের মধ্যে রূপান্তর করুন, যদি ইতিমধ্যে ছোট হাতের অক্ষরে না থাকে

  • প্রতিস্থাপন ফর্মটি খুলুন ( অনুসন্ধান-> প্রতিস্থাপন করুন বা Ctrl + এইচ )
  • নিয়মিত এক্সপ্রেশন রেডিও বোতামটি পরীক্ষা করুন
  • দেখুন _([a-z])অথবা_(.)
  • \u\1ইনপুট দ্বারা প্রতিস্থাপন

0

আমি নোটপ্যাড ++ 7.3 নিয়ে কাজ করি। আমার একই সমস্যা ছিল এবং আমি নিম্নলিখিতগুলি করেছি:

  1. Ctrl+ H(ফর্মটি দেখান)
  2. নিয়মিত এক্সপ্রেশন রেডিও বোতামটি পরীক্ষা করুন
  3. «_ ([এজেড] +) for সন্ধান করুন
  4. «\ U \ 1 by দ্বারা প্রতিস্থাপন করুন

এবং কাজ!


সুতরাং এটি ছোট অক্ষরে সমস্ত অক্ষর পরিবর্তন করবে , এবং তারপরে আন্ডারস্কোরগুলি অনুসরণ করে এমন অক্ষরগুলি বড় করে দেবে, তাই না? সুতরাং (ইতিমধ্যে মূলধন অক্ষরগুলি হ্রাস করে) এ We use the bean_counter variable, which was Fred's ideaপরিবর্তন করা হবে we use the beanCounter variable, which was fred's idea? এটি অসন্তুষ্টিজনক বলে মনে হচ্ছে।
স্কট

আপনাকে ধন্যবাদ, স্কট, আমি ধারণাটি পুরোপুরি বুঝতে পারি নি, তাই আমি আশা করি এখন এটি ঠিক হয়ে যাবে।
ফ্রান্সিসকো এম

হ্যাঁ, এটি আরও ভাল। আপনি সম্ভবত এটি কিছুটা সহজ করতে পারেন: কেবল «_ ([আয])» (এটি ছাড়া +) সন্ধান করুন। দুর্ভাগ্যক্রমে, এটি এখন পূর্ববর্তী বেশ কয়েকটি উত্তরের সমতুল্য।
স্কট

-1

আমি এই সমস্যায় পড়েছি এবং একটি দুর্দান্ত সমাধান খুঁজে পেয়েছি

  1. সমস্ত আন্ডারস্কোর ("_") স্পেস ("") দিয়ে প্রতিস্থাপন করুন

  2. প্রতিটি শব্দের প্রথম অক্ষরকে মূলধনীতে পরিবর্তন করুন

  3. সমস্ত ফাঁকা স্থান ("") একটি খালি স্থান ("") দিয়ে প্রতিস্থাপন করুন

  4. সম্পন্ন.

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