文字列操作

Curlの文字列クラスは、StringInterfacceを継承したStringStringBufがあります。Stringは値を代入した後は変更が不可です。逆にStringBufは値を代入した後も変更することが可能です。具体的に利用方法を以下に紹介します。

String

let str1:String = “abc”
let str2:String = {String “efg”}
set str1 = str & “efg” || 値を代入しなおす。

{output str1.size} || サイズ

{if {str1.equal? str2} then
    {output “一緒”}
}

{if {str1.prefix? “ab”} then
    {output “最初の文字列が一致!”}
}

{if {str1.suffix? “fg”} then
    {output “最後の文字列が一致!”}
}

let str3:String = {str1.substr 1, 3}

Stringクラスのequal?メソッドは文字列が一致するか否かをチェックし、boolを返します。

prefix?やsuffix?は文字列の最初もしくは最後の一部が一致するかをチェックし、boolを返します。

また、よく利用するメソッドとして、substrがあります。これは、文字列から指定した部分を切り取ります。

その他Stringのメソッド等についての詳細は、こちらを参照ください。

StringBuf 

let buf1:StringBuf = {StringBuf}
let buf2:StringBuf = {StringBuf “abc”}

{buf1.append ‘e’}
{buf1.concat “efg”}
{buf1.replace “ab”, “zz”}
{buf1.reverse}
{buf1.clear}

Stringクラスで利用できたprefix?、suffix?、substrは、StringBufでも利用できます。それ以外に、append(1文字の追加)、concat(文字列の結合)、replace(文字列の変換)、reverse(文字列の順番を逆にする)、clear(文字列をクリア)などがあります。

その他StringBufのメソッド等についての詳細は、こちらを参照ください。

 

また、StringとStringBufは以下のようなこともできます。

CSVなどのように区切り文字で分割し、それを配列に格納するためのメソッドとして、splitがあります。これは以下のように利用します。 

let str:String = “www.curl.com
let array:StringArray = {str.split split-chars = “.”}
{for a in array do
    {output a}
}