وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

راهنمای روش strip() Python

0 141
زمان لازم برای مطالعه: 3 دقیقه


معرفی

دستکاری رشته در پایتون از طریق مجموعه ای از متدهای داخلی انجام می شود که رشته های جدید را از آنجایی که تغییرناپذیر هستند برمی گرداند. در این راهنما، ما به روش‌هایی برای حذف فضای سفید (در زبان‌های دیگر به عنوان trimming نیز شناخته می‌شود) از رشته‌ها در پایتون نگاه خواهیم کرد.

روش های برش – نوار ()

در پایتون، روش‌های stripping می‌توانند فضاهای پیشرو و انتهایی و کاراکترهای خاص را حذف کنند. فضاهای پیشرو و انتهایی شامل فضاهای خالی، زبانه ها (\t، بازگشت کالسکه (\r، \n) و دیگر کاراکترهای فضای سفید کمتر شناخته شده ای که می توان یافت اینجا.

سه روش وجود دارد که از طریق آنها می توان فاصله ها یا کاراکترهای خاص را از رشته ها حذف کرد:

  • strip(chars) – روش نوار وانیلی هر دو سمت چپ و راست رشته فضاهای سفید یا کاراکترهای ذکر شده را نوار می کند.
  • lstrip(chars) – “l” در نام متد با سمت چپ مطابقت دارد و این روش فضاهای سفید یا کاراکترهای ذکر شده در سمت چپ رشته ورودی را حذف می کند.
  • rstrip(chars) – r در نام متد با درست مطابقت دارد، و درست حدس زدید – کاراکترها را در سمت راست رشته ورودی حذف می کند.

اگر قرار است کاراکترها از رشته حذف شوند، باید به عنوان آرگومان به متد ارسال شوند input.rstrip("abc"). این یک آرگومان اختیاری است، به‌طور پیش‌فرض توابع فضای سفید را حذف می‌کنند، زیرا رایج‌ترین کاربرد آن است.

پیشنهاد می‌کنیم بخوانید:  چگونه از Python SDK برای ساختن وب Scraper خود استفاده کنید

برش/برداشتن فضای سفید از رشته ها

اکنون که متوجه شدیم این روش ها چه توانایی هایی دارند، بیایید به چند نمونه بپردازیم. ما یک input و output رشته این input متغیر یک رشته را با فاصله های انتهایی و پیشرو نشان می دهد، در حالی که output رشته الگویی است که می توانیم از آن برای برجسته کردن این فضاها استفاده کنیم:


input = "   رسانگار   "
output = "|{}|"

print("lstrip() Output:", output.format(input.lstrip()))

print("rstrip() Output:", output.format(input.rstrip()))

print(" strip() Output:", output.format(input.strip()))

یک بار ما strip() را input و آن نتیجه را بین لوله ها اضافه کنید (|)، هر فضای خالی باقی مانده بسیار قابل توجه خواهد بود.

اجرای این کد نتیجه می دهد:

$ python trim.py
lstrip() Output: |رسانگار   |
rstrip() Output: |   رسانگار|
 strip() Output: |رسانگار|

پیرایش/برداشتن کاراکترهای خاص از رشته ها

به جای حذف فقط کاراکترهای خالی، حذف یک شخصیت خاص دنباله دار و پیشرو غیر معمول نیست. اجازه دهید در یک استدلال شخصیت به strip() روش:


input = "   ~~ رسانگار ~~   "
output = "|{}|"

print("lstrip() Output:", output.format(input.lstrip("~ ")))

print("rstrip() Output:", output.format(input.rstrip("~ ")))

print(" strip() Output:", output.format(input.strip("~ ")))

ما از tilde و همچنین یک فضای سفید عبور کرده ایم (“~ “) به عنوان استدلال از strip() روش‌ها، حذف هر یک از آنها از سمت چپ، راست و هر دو طرف رشته. شایان ذکر است که ترتیب اینها مهم نیست و strip() روش برای حذف این موارد تطبیق الگو را انجام نمی دهد. از نظر مفهومی شبیه به فراخوانی است strip() روش دو بار، برای هر کاراکتر.

پیشنهاد می‌کنیم بخوانید:  پایتون: بررسی کنید که آیا رشته حاوی رشته فرعی است یا خیر

اجرای این کد نتیجه می دهد:

$ python trim_chars.py
lstrip() Output: |رسانگار ~~   |
rstrip() Output: |   ~~ رسانگار|
 strip() Output: |رسانگار|

استفاده کردن نوار () روی سری پانداها

ما همچنین می توانیم انجام دهیم strip() روش هایی برای پانداها Series. فضاهای دنباله دار و شخصیت ها برای سلول های مجزای مجموعه را می توان از بین برد. نکته ای که باید به آن توجه داشت این است که قبل از اجرای این سری باید به یک سری رشته تبدیل شود strip() عمل.

توجه داشته باشید: اگر تازه وارد پانداها شده اید، راهنمای مبتدیان ما برای پانداها را بخوانید تا درباره کتابخانه و روش راه اندازی آن بیشتر بدانید. هنگامی که پانداها در سیستم شما نصب شد، می توانید با این مثال کد را دنبال کنید!

اسکریپت زیر را در نظر بگیرید:


import pandas as pd

s = pd.Series(('1. Cell1.  ~', '2. Cell2!\n'))
print("Before strip():\n", s)
print("\nAfter strip():\n", s.str.strip('.\n!~ '))

در اینجا، ما یک سری با سلول های حاوی کاراکترهای خاص و فضاهای دنباله ایجاد می کنیم. از طریق series.str، می توانیم روشی را انجام دهیم روی هر عنصر از سری. با توجه به اینکه اینها رشته ای هستند، می توانیم هر متد رشته ای را اجرا کنیم.

همانطور که گفته شد، ما به راحتی می توانیم a را انجام دهیم strip() روی هر عنصر دنباله:

$ python strip_series.py
Before strip()
 0    1. Cell1.  ~
1     2. Cell2!\n
dtype: object
 
After strip()
 0    1. Cell1
1    2. Cell2
dtype: object

نتیجه

حذف (یا برش) کاراکترها از یک رشته می تواند هنگام تمیز کردن مجموعه داده ها، فایل های متنی با چندین خط یا حتی پاسخ های API بسیار مفید باشد. روش های اساسی اما قدرتمند پایتون حتی می توانند کار کنند روی سری پانداها هم همینطور.

(برچسب‌ها به ترجمه)# python



منتشر شده در 1403-01-10 01:43:43

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید