পাইথনে একটি স্ট্রাস্টিং ফাংশন খুঁজে পেতে পারে।
বলুন আমি একটি স্ট্রিংয়ে প্রথম 100 টি অক্ষর আউটপুট করতে চাই, আমি এটি কীভাবে করব?
আমি এটি নিরাপদেও করতে চাই, যদি স্ট্রিংটি 50 টি অক্ষর হয় তবে এটি ব্যর্থ হওয়া উচিত নয়।
পাইথনে একটি স্ট্রাস্টিং ফাংশন খুঁজে পেতে পারে।
বলুন আমি একটি স্ট্রিংয়ে প্রথম 100 টি অক্ষর আউটপুট করতে চাই, আমি এটি কীভাবে করব?
আমি এটি নিরাপদেও করতে চাই, যদি স্ট্রিংটি 50 টি অক্ষর হয় তবে এটি ব্যর্থ হওয়া উচিত নয়।
উত্তর:
print my_string[0:100]
print 'foo'[:100](দ্রষ্টব্য যে len('foo')3, সুতরাং যখন foo[100]কাজ করে না তখনও এটি করে)
পাইথন টিউটোরিয়াল থেকে :
সজ্জা সূক্ষ্ম সূক্ষ্মভাবে পরিচালনা করা হয়: একটি সূচক যে খুব বড় হয় স্ট্রিং আকার দ্বারা প্রতিস্থাপিত হয় , নিম্ন বাউন্ডের চেয়ে ছোট একটি উচ্চতর বাউন্ড একটি খালি স্ট্রিং দেয়।
সুতরাং এটি ব্যবহার করা নিরাপদ x[:100]।
ফিলিপের উদ্বেগের উত্তর দেওয়ার জন্য (মন্তব্যে), স্লাইসিং ইউনিকোড স্ট্রিংয়ের জন্যও ঠিক কাজ করে
>>> greek=u"αβγδεζηθικλμνξοπρςστυφχψω"
>>> print len(greek)
25
>>> print greek[:10]
αβγδεζηθικ
যদি আপনি উপরের কোডটি স্ক্রিপ্ট হিসাবে চালাতে চান তবে এই লাইনটিকে শীর্ষে রাখুন
# -*- coding: utf-8 -*-
যদি আপনার সম্পাদকটি utf-8 এ সংরক্ষণ না করে তবে সঠিক এনকোডিংয়ের বিকল্প দিন
ςএবং σএকই চিঠি :-) হয়
greek_alphabetতখন ভেরিয়েবলটির নাম
অ্যারে কাটা দিয়ে সম্পন্ন করা হয় [first:last+1]।
আমি যে কৌশলটি অনেকটা ব্যবহার করতে চাই তা হ'ল উপবৃত্ত সহ অতিরিক্ত তথ্য নির্দেশ করা। সুতরাং, যদি আপনার ক্ষেত্রটি একশ অক্ষর হয় তবে আমি এটি ব্যবহার করব:
if len(s) <= 100:
print s
else:
print "%s..."%(s[:97])
এবং হ্যাঁ, আমি জানি ফর্ম্যাটিং অপারেটরের ()ক্ষেত্রে এই ক্ষেত্রে অতিমাত্রায় কাজ %, এটি কেবল আমার স্টাইল।
আপনার স্ট্রিং যথেষ্ট দীর্ঘ না হলে পূর্ববর্তী বেশিরভাগ উদাহরণ ব্যতিক্রম উত্থাপন করবে।
আরেকটি পন্থা ব্যবহার করা হয়
'yourstring'.ljust(100)[:100].strip()।
এটি আপনাকে প্রথম 100 টি চর দেবে। আপনার স্ট্রিংয়ের শেষ অক্ষরটি ফাঁকা হওয়ার ক্ষেত্রে আপনি একটি সংক্ষিপ্ত স্ট্রিং পেতে পারেন।
স্ট্রিং ফর্ম্যাটিং ব্যবহার করে %এটি পরিচালনা করার দুর্দান্ত উপায়। এখানে কিছু উদাহরণঃ.
ফর্ম্যাটিং কোডটি স্ট্রিংয়ে '%s'রূপান্তরিত '12345'হয় তবে এটি ইতিমধ্যে একটি স্ট্রিং।
>>> '%s' % '12345'
'12345'
'%.3s' শুধুমাত্র প্রথম তিনটি অক্ষর ব্যবহার করতে নির্দিষ্ট করে।
>>> '%.3s' % '12345'
'123'
'%.7s'প্রথম সাতটি অক্ষর ব্যবহার করতে বলেছে তবে পাঁচটি আছে। সমস্যা নেই.
>>> '%.7s' % '12345'
'12345'
'%7s' বামে শূন্যস্থান সহ হারিয়ে যাওয়া অক্ষরগুলি পূরণ করে, সাতটি অক্ষর পর্যন্ত ব্যবহার করা হয়।
>>> '%7s' % '12345'
' 12345'
'%-7s' ডানদিকে অনুপস্থিত অক্ষরগুলি পূরণ করা বাদে একই জিনিস।
>>> '%-7s' % '12345'
'12345 '
'%5.3' প্রথম তিনটি অক্ষর ব্যবহার করুন বলুন, তবে এটিকে বামে শূন্যস্থান দিয়ে মোট পাঁচটি অক্ষর পূরণ করুন।
>>> '%5.3s' % '12345'
' 123'
ডানদিকে পূরণ করা ছাড়া একই জিনিস।
>>> '%-5.3s' % '12345'
'123 '
একাধিক যুক্তিও পরিচালনা করতে পারে!
>>> 'do u no %-4.3sda%3.2s wae' % ('12345', 6789)
'do u no 123 da 67 wae'
আপনার যদি আরও বেশি নমনীয়তা প্রয়োজন str.format()হয় তবে তা উপলব্ধ। এখানে উভয়ের জন্য ডকুমেন্টেশন রয়েছে ।
[start:stop:step]
সুতরাং আপনি যদি কেবলমাত্র 100 টি প্রথম অক্ষর নিতে চান, ব্যবহার
করতে পারেন your_string[0:100]বা your_string[:100]আপনি যদি কেবলমাত্র চরিত্রটিকে এমনকি একই অবস্থানে নিতে চান your_string[::2]
তবে "ডিফল্ট মানগুলি" শুরু করার জন্য 0, স্ট্রিং-এর লেন, এবং পদক্ষেপ - 1 ব্যবহার করুন। যখন আপনি এর একটি সরবরাহ না করে এবং ':' রাখেন না, এটি এটি ডিফল্ট মান ব্যবহার করবে।