UiPath String İşlemleri

5 Aralık 2020 in UIPATH

Veri tipleri gerçek dünya problemlerini yazılımlara aktarırken kullandığımız, gerçek dünyadaki değerlerin bilgisayar ortamında nasıl saklanacağı ve hangi formatta olduğunu belirleyen bir yazılım kavramıdır.

String de karakterlerden oluşan metin değerlerine karşılık gelen veri türüdür. String kullanımını içermeyen bir otomasyon senaryosu hayal etmek zordur.

Bir metnin hafızaya alınması, işlenmesi, uygulamalar arasında gönderilmesi veya görüntülenmesi gerektiğinde, String veri tipi kullanışlı olur. UiPath ile yaptığımız otomasyon projelerinde, ihtiyaç doğrultusunda sadece bir metni hafızada tutmak yetmez. Çoğunlukla o metin içerisinden özel ifadelerin ayrılması, metnin parçalanması ve anlamlı öğelerin farklı değişkenlere alınması gibi işlemler gerekmektedir. Bu yazıda, UiPath ile String değerler üzerinde çeşitli işlemleri nasıl yaptığımızı tanıyacağız

String Metodları

String manipülasyonu, .NET String Metodları kullanılarak yapılır. RPA’de kullanılan en yaygın String manipülasyon yöntemlerinden bazılarını aşağıda tanımlamaya çalıştım.

NOT: VB.NET’de string ifadeler çift tırnak(“) arasına yazılan metinlerdir. C#’dan farklı olarak VB.NET’de char tipinde bir karakter tanımlamak istersek çift tırnakların(“) sonuna c karakteri eklenmelidir.

Örnek String: “Burada örnek bir metin yer alıyor.”

Örnek Char: “a”c

Concat

İki veya daha fazla string tipinde değişkenin değerlerini birleştirmek için kullanılan metoddur. Örneğin x=”Erkan”, y=”Ceylan” ise bu iki ifadeyi “ErkanCeylan” haline getirmek için kullanılmaktadır.

NOT: Aynı işlemi iki string ifade arasına eklenecek + operatörü de gerçekleştirebilmektedir.

Örnek Kod: String.Concat (VarName1, VarName2)

Contains

Bir string ifade içerisinde aranan bir metnin yer alıp almadığını sorgulamak için kullanılan metoddur. Dönüş tipi boolen’dır ve True yada False değeri döner. Örneğin x=”Merhaba Dünya” ise x ifadesi içerisinde “Dünya” değerinin varlığını Contains metodu ile kontrol ettiğimizde True değeri dönecektir.

Örnek Kod: VarName.Contains (“text”)

StartsWith

Bir string ifade içerisinde aranan bir metin ile başladığını kontrol etmek için kullanılan metoddur. Dönüş tipi boolen’dır ve True yada False değeri döner. Örneğin x=”Adalet mülkün temelidir” ise x ifadesinin “Adalet” değeriyle başladığını StartsWith metodu ile kontrol ettiğimizde True değeri dönecektir.

Örnek Kod: VarName.StartsWith(“text”)

EndsWith

Bir string ifade içerisinde aranan bir metin ile bittiğini kontrol etmek için kullanılan metoddur. Dönüş tipi boolen’dır ve True yada False değeri döner. Örneğin x=”Efsane yazdın tarihe Beşiktaş” ise x ifadesinin “Beşiktaş” değeriyle sonlandığını EndsWith metodu ile kontrol ettiğimizde True değeri dönecektir.

Örnek Kod: VarName.EndsWith(“text”)

Format

Herhangi tipte olabilen object nesnelerinin değerlerini String tipine dönüştürmek ve/veya bunları farklı bir metine eklemek için kullanılan metoddur.

 Örnek Kod: String.Format(“{0} is {1}”, VarName1, VarName2)

IndexOf

Bir String’de içerisindeki bir karakterin ilk bulunduğu konumun indexini veren metoddur. İndex değerleri 0’dan başlar o yüzden ilk karakterde bulunursa dönüş 0.index olacaktır, eğer aradığımız karakter metnin içerisinde 5.karakter ise o zaman dönen değer 4 olacaktır.  

Örnek Kod: VarName1.IndexOf(“a”c)

Join

Liste gibi koleksiyon tipi değişkenlerdeki öğeleri birleştirmek ve bunları String olarak görüntülemek için başvurulan metoddur. İlk parametreye girilen değer, diğer parametrelerdeki değerler birleştirilirken aralarına yazılacak ifadeyi belirtmektedir. Örneğin x=”aaa”, y=”bbb” olarak düşünürsek, String.Join(“/”, x,y) metodunu çalıştırdığımızda “aaa/bbb” şeklinde bir metin dönecektir.

Örnek Kod: String.Join(“|”, VarName1, VarName2)

Replace

Bir String değeri içerisinde yer alan bir ifadenin belirlediğimiz başka bir ifadeyle değiştirilmesi için kullandığımız metoddur. Örneğin x=”kartal kalkar dal sarkar dal sarkar kartal kalkar.” olduğunu varsayarsak x.Replace(“kartal”, “serçe”) metodu “serçe kalkar dal sarkar dal sarkar serçe kalkar.” olarak dönüş yapacaktır.

Örnek Kod: VarName.Replace (“original”, “replaced”)

Split

Bir string ifadesini vereceğimiz ayrıcı ifade ile parçalara ayırarak, bulunan parçaları String dizisine dönüştüren metodtur. Örneğin x=”Ankara,Bursa,İstanbul,İzmir” değerini virgül değerine göre parçalara ayırmak için x.Split(“,”c) metodunu çağırmak yeterli olacaktır.

Örnek Kod: VarName.Split(“|“c)

Substring

Bir string değerin daha küçük bir parçasını elde etmek için kullanılan metodtur. Parametre olarak öncelikle alacağımız parçanın hangi index’ten başlayacağını, ikinci olarakta alacağımız parçanın kaç karakter uzunluğunda olduğunu belirtmeliyiz. Uzunluğu belirten parametre opsiyoneldir. Yani ikinci parametreyi girmezsek, aldığımız parça belirttiğimiz indexten string’in sonuna kadar olan bölüm olacaktır. 

Örnek Kod: VarName1.Substring(startIndex, length)

Bu metodların detayı ve daha fazlası için bu linkten yararlanabilirsiniz: https://docs.microsoft.com/en-us/dotnet/api/system.string?view=netframework-4.8#methods


Regular Expressions Aktiviteleri

Regular Expressions(REGEX veya regexp olarak da ifade edilir) yani Düzenli İfadeler, aradığımız bir metni kolayca eşleştirmek, bulmak ve yönetmek için kullanılabilen belirli bir arama modelidir. Ancak, RegEx ifadeleri oluşturmak yeni başlayanlar için zor olabilir.

Regex Tutorial: Beginners Guide to Regular Expressions using JavaScript |  by HeyRelaxationCo | Medium

UiPath Studio, düzenli ifadelerin oluşturulmasını basitleştiren bir RegEx oluşturucu içerir. Regex oluşturucu yani RegEx Builder sayesinde arayüz üzerinden kendi filtremizi kolaylıkla oluşturabiliriz, bir takım testleri de yine bu sihirbaz sayesinde arayüz üzerinde gerçekleştirebiliriz. Üstelik yeni eklenen güncellemeyle Regex oluşturucu URL, email, telefon numarası gibi değerler için kendisi otomatik regex oluşturabiliyor. Regex Builder sihirbazı Regex ile ilgili herhangi bir aktiviteyi kanvasa sürüklediğinizde açılacaktır. Kullanımı oldukça basit olan bu özelliği aşağıdaki resimde görebilirsiniz.

RegEx Builder

Düzenli İfadelerin tipik kullanımları aşağıdaki gibidir:

  • Input Validation (Giriş Doğrulama)
  • String Ayrıştırma
  • String Manipülasyonu
  • Data Scraping (Veri kazıma)

Regex belirli bir kalıbı takip eden metin parçalarını almak için kullanılabilir, örneğin belirli bir rakamla başlayan telefon numaralarını ayıklamak, belirli bir kalıbı izlemeseler bile toplu bir metinden tüm cadde adlarını toplamak için kullanabilirsiniz. .NET String metodlarını kullanarak aynı ifadeyi oluşturmak çok daha uzun sürer – örneğin, RegEx’te bir metindeki tüm URL’leri bulmak için önceden tanımlanmış bir ifadeyi kullanarak çok daha hızlı çözüm üretebilirsiniz.

UiPath’de yer alan Regex aktiviteleri ve açıklamaları aşağıda yer almaktadır. Aslında bu aktiviteler de arka planda .NET tabanlı metodları çağırmaktadır. Ancak bu aktiviteleri kullanarak Regex yazmayı bilmesek bile bu ifadeleri oluşturabiliriz.

IsMatch

Verilen string metin ifadesinin, tanımlanan Regex ifadesiyle uyumlu olup olmadığını belirten ve sonuç olarak True ya da False şeklinde dönüş yapan aktivitedir. Configure Regular Expression… butonuna tıklayarak Regex Builder sihirbazı açılır ve Regex ifadesi bu arayüzden oluşturulabilir.

Matches

Verilen string metin ifadesinin içerisindeki tüm satırlarda regex ifadesiyle uyumlu değer yer alıp olmadığı kontrol edilir ve içerisinde regex ile uyumlu değer bulan tüm satırlar bir liste şeklinde geri dönülür. Kullanımı oldukça basittir. Configure Regular Expression… butonuna tıklayarak açılan Regex Builder sihirbazında Regex ifadesi oluştururuz ve çıktı(output) değişkeni olarak bir Liste veririz.

Replace

Verilen string metin ifadesinin içerisindeki regex ifadesiyle uyumlu parça ya da parçaların istediğimiz başka bir ifadeyle değişmesini istediğimiz durumda başvurduğumuz aktivitedir. Configure Regular Expression… butonuna tıklayarak açılan Regex Builder sihirbazında Regex ifadesi oluştururuz ve çıktı(output) değişkeni olarak bir yeni oluşan metni atayacağımız String değişkeni veririz.

Umarım bu yazı sizin için faydalı olmuştur.

Sorularınız ve yorumlarınız için bu içeriğe yorum yazabilir ya da bana iletişim sayfasındaki linklerden ulaşabilirsiniz.

Esen kalın.

Kaynakça

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Created by © Win Young Bilgi ve İletişim Teknolojileri A.Ş, 2020. All rights reserved.