رشته ها (String) در برنامه نویسی مقدماتی کاتلین
رشته ها یا String در واقع یک نوع آرایه هستند . آرایه ایی از کاراکتر ها می باشند یعنی آرایه ایی است که فیلد های آن کاراکتر ها می باشند. و همچنین این کاراکتر ها داخل “دابل کوتیشن ” قرار می گیرد. در مبحث کار با رشته ها (String) در خدمت شماییم . حالا چگونه در کاتلین String یا رشته تعریف کنیم .
var Text="mytext" for (char in Text) { println("$char \n") } m y t e x t
همان طور که در مثال بالا مشاهده می کنید . رشته ای که ما تعریفش کردیم آرایه ای از کاراکتر ها هست که چاپ کردیم. و اما متد های مهم و کاربردی کار با رشته ها (String) را در ادامه برای شما آموزش می دهیم . با مبحث کار با رشته ها (String) از سری آموزش کاتلین خدمت شما عزیزان هستیم .
تعدادی از توابع پرکاربرد در رشته به شرح زیر می باشد.
تابع Length در رشته ها
این تابع طول رشته (String) را برای ما برمیگرداند. برای این که نشان دهد شامل چند کاراکتر می باشد.
var Text="mytext" print(Text.length) 6
تابع () get در رشته ها
این تابع شماره اندیس کاراکتر را از ما می گیرد و آن کاراکتر را برای ما برمیگرداند.
var Text="mytext" print(Text.get(3)) e
ما با روش زیر نیز می توانیم اندیس کاراکتر را بگیریم و کاراکتر مربوط به آن اندیس در String را برگردانیم.
var Text="mytext" print(Text[5]) t
تابع ()first در رشته ها(String)
این تابع اولین کاراکتر از رشته ی ما را بر می گرداند .
var Text="mytext" print(Text.first()) m
تابع ()last در رشته ها(String)
این تابع آخرین کاراکتر یا همون فیلد آخر را برای ما بر می گرداند.
var Text="mytext" print(Text.last()) t
تابع ()equals در رشته ها(String)
این تابع برای مقایسه دو رشته (String) استفاده می شود. و دوتا رشته را باهم مقایسه می کند و مقدار برگشتی آن true ویا false می باشد.
var Text="mytext" var Text2="text" if(Text.equals(Text2)) print("true") else print("false") false
تابع ()contains در رشته ها(String)
این تابع یک رشته می گیرد و بررسی می کند که آیا این رشته در رشته دیگر که مد نظر ما است وجود دارد یا نه و همچنین مقدار برگشتی آن true ویا false می باشد . والبته این نکته را هم به یاد داشته باشید که تابع ()contains نسبت به حروف حساس است . یعنی این که نسبت به حروف کوجک و بزرگ حساسیت نشان می دهد.
var Text="AliReza" print(Text.contains("Ali")) true var Text="AliReza" print(Text.contains("ali")) false
درکد بالا میبینید که چون ما رشته ای که وارد کردیم حرف اول کوچیک است و به خاطر حساس بودن نسبت به حروف مقدار false را برگرداند . ولی اگر بخواهید که این حساسیت نسبت به حروف نباشد . باید بعد از مقدار رشته ایی که در داخل تابع ()contains مقدار true را وارد می کنیم. مانند مثال زیر
var Text="AliReza" print(Text.contains("ali",true)) true
تابع() startsWith در رشته ها(String)
با کمک این تابع ما بررسی می کنیم که رشته و یا کاراکتری که گرفته ایم در ابتدای رشته مد نظر ما است و یا خیر که در این مورد نیز مقدار برگشتی true ویا false می باشد .
var Text="AliReza" print(Text.startsWith('A')) true var Text="AliReza" print(Text.startsWith("Ali")) true var Text="AliReza" print(Text.startsWith("reza")) false
متد () endsWith در رشته ها(String)
ما از این تابع برای این منظور استفاده می کنیم تا بفهمیم رشته یا کاراکتری که گرفته ایم . در آخر رشته ما است ویا نه
var Text="AliReza" print(Text.endsWith("reza")) false var Text="AliReza" print(Text.endsWith('z')) false var Text="AliReza" print(Text.endsWith('a')) true
تابع() indexOf در رشته ها(String)
نحوه ی کارکرد این تابع به گونه ایی می باشد که یک کاراکتر می گیرد و اندیس آن را بر می گرداند. احتمال دارد در رشته ما چندین کاراکتر مشابه باشد که فرض ما در این تابع اولین آن می باشد یعنی اگر ما می خواهیم اندیس کاراکتر ‘a’ را برگردانیم . امکان دارد 2 تا ‘a’ داشته باشم که در این صورت مقصد تابع اولی می باشد.
var Text="AliReza" print(Text.indexOf('e')) 4 var Text="AliReza" print(Text.indexOf('a')) 6
تابع ()lastIndexOf در رشته ها(String)
این تابع نیز دقیقا کار متد ()indexOf را انجام میدهد . با این تفاوت که اندیس آخرین مشاهده کاراکتر را برای ما برمی گردانند.
var Text="farshid habibi" print(Text.lastIndexOf('a')) 9
تابع ()replace در رشته ها(String)
این تابع دو مقدار می گیرد مقدار های ورودی می تواند کاراکتر و یا رشته باشد . و نحوی کار آن اینگونه است که مقدار دومی را با مقدار اولی جایگزین می کند. دقت کنین که کاراکتر می تواند جایگزین کاراکتر بشود و رشته نیز جایگزین رشته بشود.
var Text="farshid habibi" print(Text.replace("farshid","Ali")) Ali habibi var Text="farshid habibi" print(Text.replace('a','m')) fmrshid hmbibi
تابع () reversed در رشته ها
کارکرد این تابع به این گونه می باشد که یک رشته را برعکس می کند .
var Text="farshid habibi" print(Text.reversed()) ibibah dihsraf
تابع ()trim در رشته ها
موقعی که در متن رشته ی ما فضای خالی وجود داشته باشد . و ما قصد داشته باشیم این جای خالی را حذف کنیم از این تابع استفاده می کنیم .
var Text=" farshid " print(Text.trim()) farshid
تابع ()trimStart در رشته ها
برای موقعی می باشد که ما می خواهیم جای خالی ابتدای جمله را پا کنیم .
var Text=" farshid " print(Text.trimStart()) farshid
تابع ()trimEnd در رشته ها
برای موقعی است که ما می خواهیم فضای خالی قسمت انتهای جمله حذف شود .
var Text=" farshid " print(Text.trimEnd()) farshid
تابع ()trimIndent در رشته ها
در توابع ()trim فضای خالی ابتدا و انتهای رشته حذف می شد. و ممکن است که ما در میان رشته خود نیز می خواهیم فاصله حذف شود. برای این کار از تابع ()trimIndent استفاده می کنیم .
var Text=""" ali farshid Reza """ print(Text.trim()) ali farshid Reza /////////////////////////////// var Text=""" ali farshid Reza """ print(Text.trimIndent()) ali farshid Reza
تابع ()subString در رشته ها
این تابع دو مقدار می گیرد. درواقع دو اندیس می گیرد که به این صورت می باشد که از اندیس اول تا یکی کمتر از اندیس دوم کاراکتر های رشته ما رو چاپ کند .
var text="Alireza" print(text.substring(1,3)) li var text="Alireza" print(text.substring(2,5)) ire
تابع ()sublist در رشته ها
در این تابع ما به جای رشته از لیست ها استفاده می کنیم . و مقادیر لیست را از اندیس اول تا یکی کمتر از اندیس دوم در یک آرایه دیگر می ریزد.
val list1=arrayListOf("ali","farshid","reza","Alireza") val list2=list1.subList(0,1) list2.forEach { print("$it \n") } ali val list1=arrayListOf("ali","farshid","reza","Alireza") val list2=list1.subList(1,2) list2.forEach { print("$it \n") } farshid val list1=arrayListOf("ali","farshid","reza","Alireza") val list2=list1.subList(1,3) list2.forEach { print("$it \n") } farshid reza
تابع ()compareTo در رشته ها
این تابع درواقع میاد اون رشته ای رو که به عنوان مقدار ورودی میگیرد. با رشته اصلی ما مقایسه می کند تا بفهمد چقدر به هم شباهت دارند . ویا به اصطلاحی دیگر رشته اصلی چند کاراکتر متفاوت با این رشته دارد .
val text = "farshid" print(text.compareTo("ali")) 5 val text = "farshid" print(text.compareTo("farshid")) 0
تابع ()plus در رشته ها
این تابع یک مقداری میگیرد . به عنوان رشته و آن را به انتهای رشته اصلی ما اضافه می کند.
val text = "farshid" print(text.plus(" habibi")) farshid habibi
در اینجا آموزش کار با رشته ها (String) از مبحث آموزش کاتلین تموم شد. و تمام سعی ما این بود که این آموزش کامل باشد . واگر تابع های جدیدی پیدا کردیم متن را بروز رسانی خواهیم کرد.
موفق باشید.
ساختار های تکرار یا حلقه ها در مباحث مقدماتی کاتلین
کار با متغیرها(Variables) در دوره مقدماتی زبان کاتلین
لیست ویو سفارشی (Custom ListView) در اندروید
دیدگاهتان را بنویسید