ব্যাশে স্ট্রিংয়ের মাঝখানে অক্ষরগুলি কীভাবে সরিয়ে ফেলা যায়


12

ব্যাশে আমার একটি স্ট্রিং রয়েছে এবং আমি স্ট্রিংয়ের মাঝখানে একটি অক্ষর সরিয়ে দেওয়ার চেষ্টা করছি। আমি জানি আমরা এর মতো কোনও স্ট্রিংয়ের শুরু বা শেষ থেকে অক্ষরগুলি অপসারণ করতে পারি:

myVar='YES'
myVar="${myVar#'Y'}"
myVar="${myVar%'S'}"

তবে আমি কীভাবে মাঝখানে এটি সরিয়ে ফেলব?

উত্তর:


18

আপনি যদি কোন চরিত্র (গুলি) অপসারণ করতে জানেন তবে আপনি প্যারামিটার বিস্তারে বিকল্প ব্যবহার করতে পারেন:

myVar=${myVar/E}  # Replace E with nothing

অথবা, আপনি যদি জানেন কী কী অক্ষরগুলি রাখবেন:

myVar=${myVar/[^YS]}  # Replace anything but Y or S

অথবা, যদি আপনি অবস্থানটি জানেন:

myVar=${myVar:0:1}${myVar:2:1}  # The first and third characters

আপনি যদি না জানেন তবে কী করবেন? আপনি যদি কেবল জানেন যে আপনি ওয়াই এবং এস রাখতে চান?
রাটার হুইজম্যানস

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