رشته ها (String) – در آموزش کاتلین

 رشته ها (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) در  اندروید

 

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]
اشتراک‌گذاری

فرشید حبیبی هستم . برنامه نویس موبایل، سئو و وردپرس همچنین علاقه مند به تولید محتوا در زمینه برنامه نویسی و تکنولوژی های روز دنیا.

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

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