স্ট্রিং থেকে প্রথম এক্স অক্ষর সরানো হচ্ছে?


116

কোনও স্ট্রিং থেকে কীভাবে প্রথম x অক্ষর মুছে ফেলা যায়? উদাহরণস্বরূপ, যদি একটি স্ট্রিং থাকে lipsumতবে তারা কীভাবে প্রথম 3 টি অক্ষর মুছে ফেলবে এবং এর ফলাফল পাবে sum?


5
উদাহরণস্বরূপ, অপসারণ করা অক্ষরের সংখ্যা যদি অক্ষরের সংখ্যা থেকে যায় তবে সমান হয় না। উদাহরণস্বরূপ"lipsumm"[3:] == "summ"
স্কট পেলাক

উত্তর:


213
>>> text = 'lipsum'
>>> text[3:]
'sum'

আরও তথ্যের জন্য স্ট্রিংগুলিতে সরকারী ডকুমেন্টেশন এবং শিরোনামের সংক্ষিপ্তসারগুলির জন্য এই এসও উত্তরটি দেখুন answer


16

অন্য উপায় (আপনার প্রকৃত প্রয়োজনের উপর নির্ভর করে): আপনি যদি প্রথম এন অক্ষরগুলি পপ করতে চান এবং পপড অক্ষর এবং পরিবর্তিত স্ট্রিং উভয়ই সংরক্ষণ করতে পারেন :

s = 'lipsum'
n = 3
a, s = s[:n], s[n:]
print(a)
# lip
print(s)
# sum

3
আমার ধারণা এটি রূপকভাবে "পপড" হয়েছে তবে আসলে এটির মাত্র 2 টি আলাদা টুকরো, কোনও আসল পপিং নেই
জামিলাক

9
>>> x = 'lipsum'
>>> x.replace(x[:3], '')
'sum'

11
নোট করুন যে এটি কোডে দীর্ঘতর এবং আরও সাবধানতা নেবে যেহেতু আপনাকে সাবস্ট্রিং প্রতিস্থাপনের আগে আপনাকে অনুসন্ধান করতে হবে। এছাড়াও: >>> x = 'liplip' >>> x.replace(x[:3], '') ''। অবশ্যই আপনি তৃতীয় প্যারামিটার (গণনা) = 1 রেখে এটি ঠিক করতে পারতেন তবে এটি আরও বেশি সময় নিতে পারে।
জামিলাক

এটি আপনার উত্তরের সাথে সম্পর্কিত তাই এটি এখানে belongs আপনি আপনার মধ্যে গণনা = 1 যোগ করতে পারেন যাতে এটি এখনও
বিটিডব্লিউ

4

ব্যবহার del

উদাহরণ:

>>> text = 'lipsum'
>>> l = list(text)
>>> del l[3:]
>>> ''.join(l)
'sum'

1
এটি এমনভাবে কাজ করে না যা আপনি ভাবেন text = 'liplip' >>> text.lstrip(text[:3]) ''কারণ একটি চরিত্র যুক্তি উপসর্গ নয়; পরিবর্তে, এর মানগুলির সমস্ত সংমিশ্রণগুলি ছিনিয়ে নেওয়া হয়েছে:str.lstrip([chars])
জামাইলাক

@ জামিলাক সম্পাদিত খনি
ইউ 10-ফরোয়ার্ড

1
সমাধানগুলির কোনওটিই কাজ করে না যেমন। জন্য 'liplip'। দ্বিতীয়টিতেTypeError: 'str' object does not support item deletion
জামিলাক

@ জামিলাক আবার সম্পাদনা করেছেন
ইউ 10-ফরোয়ার্ড

@ জামিলাক এটি কি কাজ করে, এখন, যদি আপনার ডাউনটা করা দরকার?
U10-ফরওয়ার্ড

2

অ্যাকাউন্ট নম্বরটির শেষ 3 টি সংখ্যা দেখানোর উদাহরণ।

x = '1234567890'   
x.replace(x[:7], '')

o/p: '890'


যেমন। >>> x = '12345678901234567890' >>> x.replace(x[:7], 'xxxxxxx') 'xxxxxxx890xxxxxxx890'
জামিলাক

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