خانه / هوش تجاری / پاور کوئری / جدا سازی متن با تابع Text.BetweenDelimitersدر پاورکوئری

جدا سازی متن با تابع Text.BetweenDelimitersدر پاورکوئری

تابع Text.BetweenDelimiters برای جداسازی قسمتی از یک متن بین دو کاراکتر خاص در پاورکوئری به‌صورت ذیل مورداستفاده قرار می‌گیرد.

Text.BetweenDelimiters(

text as nullable text,

startDelimiter as text,

endDelimiter as text,

optional startIndex as any,

optional endIndex as any

) as any

برای مثال با استفاده از این تابع می‌توانیم در یک متن بخش بین دو کاراکتر “-” و “/” را جدا کنیم.

این تابع ۵ ورودی به شرح ذیل دریافت می‌کند.

  • ورودی اول این تابع بیانگر متن مرجع است.
  • در ورودی دوم کاراکتر مدنظر جهت شروع جداسازی تعیین می‌گردد.
  • کاراکتر مدنظر جهت خاتمه دادن به جداسازی در ورودی سوم این تابع مشخص می‌شود.
  • درصورتی‌که کاراکتر مدنظر جهت شروع جداسازی چند بار درون متن مرجع تکرار شده باشد، با استفاده از ورودی چهارم این تابع می‌توانیم مشخصی کنیم از چندمین تکرار، جداسازی شروع شود.
  • درصورتی‌که کاراکتر مدنظر جهت خاتمه دادن به جداسازی چند بار درون متن مرجع تکرار شده باشد، با استفاده از ورودی چهارم این تابع می‌توانیم مشخصی کنیم در چندمین تکرار، جداسازی خاتمه یابد.

لازم به ذکر است که مطابق با توابع قبلی، به‌منظور تعیین جهت پیدا کردن کاراکترهای مدنظر در ورودی‌های ۴ام و ۵ام این تابع می‌توان از حالت‌های RelativePosition.FromStart و RelativePosition.FromEnd نیز استفاده نمود.

با توجه به توضیحات فوق، حاصل تابع ذیل برابر با متن بین کاراکتر “-” (اولین تکرار آن) و “/” (اولین تکرار آن) که برابر است با. “۱۱-۱۸۱”

= Text.BetweenDelimiters(“XNW-11-181/MN-12/2-“,”-“,”/”)

اگر بخواهیم جداسازی را از دومین تکرار “-“ شروع کنیم، کافی است در ورودی چهارم این تابع عدد ۱ را به‌صورت ذیل وارد کنیم تا حاصل تابع برابر با  ۱۸۱ باشد.

= Text.BetweenDelimiters(

“XNW-11-181/MN-12/2-“,

“-“,

“/”,

۱)

و به‌صورت مشابه اگر در ورودی پنجم این تابع عدد ۱ نیز وارد شود عمل جداسازی تا دومین تکرار “/” ادامه خواهد یافت و نتیجه برابر با “۱۸۱/MN-12” است.

= Text.BetweenDelimiters(“XNW-11-181/MN-12/2-“,”-“,”/”,1,1)

درباره‌ی امید معتمدی

محقق، مدرس، نویسنده و مشاور در حوزه تحلیل داده

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.