String OperatorsJ

print

文字列演算子


この節では、引数が文字列である演算子をリストアップします。また、他の値から文字列を生成する演算子も扱います。

基本的な文字列演算子


文字列の結合: <string1> + <string2>



説明: + 演算子はひとつの文字列に他のものを付け加えます。その結果は文字列になります。引数のうち少なくとも一つが文字列であれば、他の引数は自動的に文字列に変換されます。

例:

結果
"Cindy"+"Script" "CindyScript"
"4たす3は "+(4+3) "4たす3は 7"
""+(4+3) "7".



参照: + 演算子は数値の加法にも用いられます。 算術演算子を参照してください。




文字列への変換: text(<expr>)



説明: この演算子は <expr> を評価し、結果を文字列に変換します。




文字列の長さ: length(<string>)



説明: この演算子は、文字列の文字数を返します。

例: length("CindyScript") の結果は 11 です。


参照: リスト




文字列の抜きだし: substring(<string>,<int1>,<int2>)



説明: この演算子では <string><int1> 文字目の次から <int2>文字目までの文字列を抜き出します。

例: substring("abcdefg",3,6)"def"を返します。




文字列の検索: indexof(<string1>,<string2>)



説明: この演算子は、文字列 <string2><string1>の中にあるかどうかを検索し、最初に見つかった位置を返します。もし <string2><string1>の中になければ 0 を返します。

結果
indexof("CindyScript","i") 2
indexof("CindyScript","y") 5
indexof("CindyScript","z") 0





文字列の検索: indexof(<string1>,<string2>,<int>)



説明: この演算子は、文字列 <string2><string1> の <int>文字目以降にあるかどうかを検索し、最初に見つかった位置を返します。もし <string2><string1> の <int>文字目以降になければ 0 を返します。

結果
indexof("CindyScript","i",1) 2
indexof("CindyScript","i",3) 9
indexof("CindyScript","i",10) 0








高度な文字列演算子


文字列の分解: tokenize(<string>,<expr>)




説明: この演算子は、入力された文字列を解析するのに大変有効です。引数 <string>の部分文字列のリストを作成します。2番目の引数 <expr> は、文字列か、文字列のリストでなければなりません。もし <expr> が文字列であれば、<string>からこの文字列を検索します。この文字列は <string> を分解するときの標識となります。

もし <expr> が文字列のリストであれば、このリストを再帰的に使って <string> の部分文字列のリストを生成します。
標識が存在しない場合、間違った結果を返すことがあります。その場合には修飾子を使います。

例:

結果
tokenize("one:two--three:four",":") ["one", "two--three", "four"]
tokenize("one:two--three:four","-") ["one:two", "", "three:four"]
tokenize("one:two--three:four","--") ["one:two", "three:four"]
tokenize("one:two--three:four",["-",":"]) [["one", "two"], [], ["three", "four"]]
tokenize("one:two--three:four",["--",":"]) [["one", "two"], ["three", "four"]]
tokenize( "77777777777777777",":")")} [77777777777777776]
tokenize( "77777777777777777",":",autoconvert->false)")} [77777777777777777]






文字列の置換: replace(<string1>,<string2>,<string3>)



説明: この演算子は、<string1>の中の <string2> をすべて <string3>で置き換えます。
 この演算子は、Lindenmeyerシステムと呼ばれる文字列置き換えシステムを作成するときにとても役立ちます。

例:

結果
replace("one:two--three:four","o","XXX") "XXXne:twXXX--three:fXXXur"
replace("F","F","F+F") "F+F"
replace("F+F","F","F+F") "F+F+F+F"





文字列の置換: replace(<string>,<list>)


説明: この演算子は前のものとよく似ています。 <list><string>に対して、置き換えをする文字列の組合せからなるリストです。


例:

結果
replace("XYX",[["X","one"],["Y","two"]]) "onetwoone"





文字列の解析: parse(<string>)



説明: この演算子は、文字列の内容を解析して、その結果を評価します。この演算子は、テキストフィールドから入力された文字列を処理するのに特に有効です。

例:

結果
parse("3+7") 10


次のコードは、 f(x)sin(x)+cos(x)で定義します。

text="sin(x)+cos(x)";
f(x):=parse(text);






文字列の解析: guess(<number>)



説明: この非常に強力な演算子については 特殊演算子の節で詳説します。それは浮動小数点で表された数を、高い精度でその浮動小数点数を生み出す数式に変えようとします。

例:

結果
guess(8.125) "65/8"
guess(0.774596669241483) "sqrt(3/5)"



参照: 計算




数を整形する: format(<number>,<int>)



説明: この演算子は、第1引数の数の小数点以下を、第2引数で指定された桁まで、文字列として整形します。最高14桁まで可能です。引数がリストの場合は、各要素に対して整形がなされます。


例:

結果
format(sqrt(2),4) "1.4142"
format(pi,14) "3.14159265358979"
format([sin(30°),cos(30°)],3) [0.5,0.866]



注意: format命令は、出力としての整形を行なうだけです。整形された値は文字列として扱われますので計算はできません。次の例を見てください。

結果
format(sqrt(2),4)+format(sqrt(2),4) "1.41421.4142"






文字列の比較と並べ替え

数と同様、文字列も順序付けができます。したがって、演算子 >, <, >=, <=, ==, != を使って比較ができます。これらの演算子については ブール演算子 を参照してください

文字の順序としては、辞書順を使います。たとえば、次のようになります。

"a"<"abd"<"abe"<"b"<"blue"<"blunt"<"xxx"




リストの並べ替え: sort(<list>)


リストの並べ替え: sort(<list>,<expr>)


リストの並べ替え: sort(<list>,<var>,<expr>)



説明: いくつかの並べ替え-演算子が文字列を含むリストを並べ替えるのに使えます。 並べ替えの順序は常に辞書順です。あるいは、文字列の長さのように、ユーザーが順序を定義することもできます。


例:

結果
sort(["one","two","three","four","five"]) ["five","four","one","three","two"]
sort(["one","two","three","four","five"],length(#)) ["one","two","four","five","three"]



参照: リスト







文字列中の文字へのアクセスと置き換え

指標演算子: <string>_<int>



説明: リストの項目にアクセスする挿入演算子 _ は、文字列内の特別な位置にある文字にアクセスするのにも使えます。この演算子で、文字を返したり、文字をセットしたりすることができます。

例:

結果
"CindyScript"_5 "y"
"CindyScript"_12 _?_


次のコードでは、変数 a"CinderellaScript" になります。

a="CindyScript";
a_5="erella";


Contributors to this page: Akira Iritani .
Page last modified on Wednesday 11 of February, 2015 [23:12:39 UTC] by Akira Iritani.

The content on this page is licensed under the terms of the License.


Menu
free viagra samplehentai girlsmature pussymilfseeker cialis samplescam clip movie nude webcammother incest order viagra online cialis ukanime rapeparis hilton phone numbers viagra alternatives cialis forum cialis free samplehot girls in pantiesmonster of cocks discount cialis cilias free viagra samplesfree chat rooms cilia structurefree cartoon sex comics buy cialis order viagrafree adult videosplump girl gallerypantyhose gallerycum on her face cheapest cialisbisexual moviestampa bukakehuge black cock thumbnails buy cialis onlineporn star cialis drugwomen having sex cheap generic viagra alternative to viagra natural viagra cheap viagraoral sexteen webcam strip videosnude spanish girlserotic sex cams movies viagra side effectscartoon adultdisney sex animenude blonde hairygang bang swinger cialis viagrabisexual free moviesgay twinkswebcam chat live xxxyoung teens order cialislatina girls thongscum loversjapanese girl viagra cheapyoung japanese girlsmr chews asian beavergangbang squadshoshone indiansmature wiveslive webcam chat girlsfree ebony viagra on lineasian ladyboysteen boys viagra pillsself bondage techniques cailisincest familyfree ebony cheap cialisgay amateur cialis genericbusty asian viagra onlinemature breasts viagra for women free viagrabig boobies cialis generic viagragloryhole gaylatinas in thongs female viagraindian tits viagra 6 free samplesamateur upskirt viagra alternativefree xxx video cialis online discountgalleries of teen girls cialis dosage cheap generic cialisparis hilton pornopussy cat dollsbrutal sexgay peopleblack milfsno tits discount viagrablonde hairy pussyshemale animefree hardcore moviesmom strips for sonfat titscelebrity legsdouble anal levitra vs cialis cialis tadalafil cialis cheapgay bdsmcelebrities exposed viagra generic alternatives to viagra viagra canadabestialitypink porn stars viagra jokesclips of teen sexchicks suck horse cock online viagrasex with horsespainful analglory holes floridafree american bukkake cialis online buy viagrabig cock cum free cialisteen gay porn cialis side effects herbal viagra best price viagra purchase cialis cialis soft tabs cialis vs viagrafree fat girl webcamfree porn movie clipsoral penis suckingebony hardcore viagra pricepantyhose crossed legs cialis and levitralesbiennesblonde boobs buy viagra online