آموزش متلب (MATLAB)
۵۴۳ آموزش
نمایش دسته بندی ها (۵۴۳ آموزش)

تقسیم یک رشته (string) به دو رشته مجزا، بر اساس وجود یک علامت یا عبارت جداکننده (delimiter)، با دستور strtok در متلب

با استفاده از دستور strtok در متلب، می توانیم یک رشته (string) را به دو رشته مجزا تبدیل کنیم و این جداسازی، بر اساس وجود یک علامت یا عبارت جداکننده (delimiter) می باشد.

فرض کنید دستور strtok را به صورت زیر به کار ببریم :


[token, remain] = strtok('name = ali', '=')

دستور strtok ، علامت مساوی (=) را به عنوان علامت جداکننده (delimiter) در نظر می گیرد و سپس در رشته ای که دریافت کرده، از ابتدا شروع کرده و به دنبال اولین علامت مساوی (=) می گردد. به اولین علامت مساوی (=) که برسد، تمامی کاراکترهای آن را در یک رشته با نام token قرار می دهد و همچنین علامت تساوی (=) و تمامی کاراکترهای بعد از آن را در یک رشته با نام remain (به معنای باقیمانده، زیرا باقیمانده رشته است) قرار خواهد داد و این دو رشته را به ما برمی گرداند.

نکته

اگر علامت یا عبارت جداکننده (delimiter) را برای دستور strtok مشخص نکنیم، این دستور به صورت پیش فرض، علامت جداکننده (delimiter) را برابر کاراکتر فاصله خالی (space) در نظر می گیرد.

مثال

clear all
close all
clc

[token, remain] = strtok('name = ali', '=')
whos

سه خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه قبلی اجرا شده در متلب می باشد.

دستور whos ، نوع و اندازه متغیرها را نمایش می دهد و بنابراین با آن می توانیم تعداد کاراکترهای رشته ها (string) را متوجه بشویم، زیرا مثلا ممکن است که در ابتدا و انتهای یک رشته، کاراکتر فضای خالی (space) وجود داشته باشد و بنابراین ما در خروجی متلب، متوجه وجود آن نشویم.

نتیجه :


token =

name


remain =

= ali

  Name        Size            Bytes  Class    Attributes

  remain      1x5                10  char              
  token       1x5                10  char
مثال

clear all
close all
clc

[token, remain] = strtok('my name is ali')
whos

چون علامت یا عبارت جداکننده (delimiter) را برای دستور strtok تعیین نکرده ایم، بنابراین به صورت پیش فرض، کاراکتر فضای خالی (space) به عنوان علامت جداکننده (delimiter) در نظر گرفته می شود.

سه خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه قبلی اجرا شده در متلب می باشد.

دستور whos ، نوع و اندازه متغیرها را نمایش می دهد و بنابراین با آن می توانیم تعداد کاراکترهای رشته ها (string) را متوجه بشویم، زیرا مثلا ممکن است که در ابتدا و انتهای یک رشته، کاراکتر فضای خالی (space) وجود داشته باشد و بنابراین ما در خروجی متلب، متوجه وجود آن نشویم.

نتیجه :


token =

my


remain =

 name is ali

  Name        Size            Bytes  Class    Attributes

  remain      1x12               24  char              
  token       1x2                 4  char
مثال

clear all
close all
clc

[token, remain] = strtok('my name is ali','is')
whos

سه خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه قبلی اجرا شده در متلب می باشد.

دستور whos ، نوع و اندازه متغیرها را نمایش می دهد و بنابراین با آن می توانیم تعداد کاراکترهای رشته ها (string) را متوجه بشویم، زیرا مثلا ممکن است که در ابتدا و انتهای یک رشته، کاراکتر فضای خالی (space) وجود داشته باشد و بنابراین ما در خروجی متلب، متوجه وجود آن نشویم.

نتیجه :


token =

my name


remain =

is ali

  Name        Size            Bytes  Class    Attributes

  remain      1x6                12  char              
  token       1x8                16  char
نویسنده علیرضا گلمکانی
شماره کلید 2660
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)