ক্রমবর্ধমান কোনও প্রদত্ত স্ট্রিং প্রতিস্থাপন করুন


12

আমাদের বলুন যে আমার নীচের মতো একটি পাঠ্য রয়েছে:

এসি (NN)
এসি (NN)
এসি (NN)
এসি (NN)
এসি (NN)
এসি (NN)
এসি (NN)
এসি (NN)
এসি (NN)
এসি (NN)
এসি (NN)

এখন আমি এই জাতীয় nnসংখ্যার সাথে প্রতিস্থাপন করতে চাই

এসি (0)
এসি (1)
এসি (2)
এসি (3)
এসি (4)
এসি (5)
এসি (6)
এসি (7)
এসি (8)
এসি (9)
এসি (10)

আমি M-x replace-regexp nn RET \# RETএটি সম্পাদন করতে ব্যবহৃত ।

প্রশ্নাবলী:

  1. আমি প্রতিস্থাপন সংখ্যা শুরু করার থেকে শুরু করতে চান 1বদলে থেকে 0। বা বরং একটি নির্দিষ্ট নম্বর থেকে শুরু বলতে 25। উপরের কমান্ডটি আমি কীভাবে পরিবর্তন করব?
  2. কিভাবে প্রতিস্থাপন nnমত সংখ্যায় 001, 002.... 998, 999ইত্যাদি - আমি বসানো শূন্যগুলি সঙ্গে অর্থ

এটি যা আপনি জিজ্ঞাসা করছেন তা নয়, তবে এটি করার আরেকটি উপায় হ'ল একটি রেজিস্টার সহ ম্যাক্রো ব্যবহার করা।
শুঁয়োপোকা

উত্তর:


12

সাধারণ কৌশল

আপনার প্রতিস্থাপনের স্ট্রিংটিতে নির্বিচারে লিস্প কোড থাকতে পারে। প্রতিস্থাপন- regexp জন্য ডকুমেন্টেশন থেকে :

ইন্টারেক্টিভ কলগুলিতে প্রতিস্থাপন পাঠ্যে '\' থাকতে পারে, তারপরে প্রতিস্থাপন পাঠ্যের অংশ হিসাবে লিস্প এক্সপ্রেশন ব্যবহার করা যেতে পারে। এই অভিব্যক্তির অভ্যন্তরে, '\ &' একটি সম্পূর্ণ স্ট্রিংকে বোঝায় এমন একটি স্ট্রিং, '\ N' একটি আংশিক মিল, '# &' এবং '# এন' 'স্ট্রিং-টু-নম্বর' থেকে সম্পর্কিত সংখ্যাসূচক মান এবং '# 'প্রতিস্থাপন-গণনা' এর জন্য 'নিজেই, প্রতিস্থাপনের সংখ্যাটি এখনও পর্যন্ত শূন্য থেকে শুরু হয়েছে।

আমরা এই কৌশলটি বিভিন্ন উপায়ে ব্যবহার করতে পারি।

থেকে শুরু করে 1

আমরা যে ওয়াটটি করতে চাই তা হ'ল আপনি nnযেটি replace-countব্যবহার করেছেন তার চেয়ে আরও একটি দিয়ে প্রতিস্থাপন করা \#

#'replace-regexpযুক্তি সহ কল করুন \,(1+ \#):

C-M-% nn \,(1+ \#)সঙ্গে NN প্রতিস্থাপন করবে 1প্রথম, তারপর 2, 3ইত্যাদি

শুরুতেই 25

আপনি এটির জন্য কেবল একটি যোগ না করে পরিবর্তিত করতে পারেন (তবে আপনার উদাহরণে) 25:

C-M-% nn \,(+ 25 \#)

নেতৃস্থানীয় শূন্য

অথবা আমরা formatনেতৃস্থানীয় শূন্যগুলি যুক্ত করতে ব্যবহার করতে পারি । এই প্রতিস্থাপন করবে nnসঙ্গে 000, 001, 002, ইত্যাদি আপনি অন্য পাতার মর্মর উপরের কোড এ শুরু হবে একত্রিত করতে পারেন 001, 025অথবা যদি আপনি চান যাই হোক না কেন।

C-M-% nn \,(format "$03d" \#)


5

আপনি ব্যবহার করতে পারেন cua-mode

আয়তক্ষেত্র অঞ্চলটি (সমস্ত nn) এবং তারপরে নির্বাচন করুন M-x cua-rectangle-mark-mode

পরবর্তী, M-nএবং ডিফল্ট মানগুলি গ্রহণ করুন।


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