Pascal では、文字列の一部 (substring) を選択できます。このために、コピー操作が使用されます。
操作の一般的な形式は次のとおりです。
<プレ>
s1 := copy(s, index, count);
このコマンドは、文字列 s から、インデックス index of length count. の文字からスライスを取得します。
例えば、
<プレ>
s1 := コピー(s, 3, 5);
index が文字列の長さより大きい場合、空の文字列が返されます。 index から始まる count 個の文字が文字列の長さよりも長い場合、index から始まり、終了する文字列 s が返されます。
そして、文字列を逆にするのがいかに簡単かは次のとおりです。
<プレ>
s := '0123456789';
s1 := reverseString(s); // s1 = '0123'
|
文字列の一部を削除するには、delete(s, firstIndex, count) メソッドを使用する必要があります。これは、文字列 s から から count 文字を削除します。最初のインデックス
<プレ>
s := '0123456789';
削除(s、4、6); // s1="0129"
プレ>
文字列の一部をコピーするには、copy(s, index, count) メソッドを使用できます。文字列 s の一部をインデックス index から開始して返します。 strong> と length count
<プレ>
s := '123456789';
s1 := コピー (秒、3、4); // s1 = '3456'
プレ>
|
Pascal には、文字列を操作するためのルーチンが多数あります。それらの多くはドット表記を使用して呼び出され、メソッドと呼ばれます。文字列操作メソッドの完全なリストはオンラインで見つけることができます。
それらのいくつかを紹介しましょう。
<プレ>
s := 'aAbBcC'
sUp := 大文字; // sUp = "AABBCC" - 文字列の各文字を大文字に変換するメソッド
sLow := 小文字 // sLow = "aabbcc" - 文字列の各文字を小文字に変換するメソッド
プレ>
メソッドは常に括弧で記述されます。必要に応じて、括弧内にパラメータがいくつかあります。
もう 1 つの便利な方法 - val(s, v, ind) - 文字列のすべての文字が数字であるかどうかを確認するメソッド。 s - ソース文字列、v にはソース文字列が数値の場合は数値が含まれ、それ以外の場合は 0 が含まれます。ind には最初の < の数値が含まれます。 strong> インデックス s は数字ではありません。 s が数字の場合は 0 です。
<プレ>
s := 'ab1c'
val(s, v, ind);
writeln(v, ' ', ind); // 0 3
s := '123';
val(s, v, ind);
w(vriteln, ' ', ind); // 123 0
プレ>
便利な Trim(s) - メソッドを使用すると、文字列の先頭と末尾のスペースを削除できます
<プレ>
s := 'アブ 1c ';
print('s=', トリム(s)); // s=ab 1c
プレ>
|
Pascal で文字列内を検索するには、pos() メソッドを使用します。
文字列内で最初に出現する部分文字列のインデックスを返します。
pos(originalString, smallString) - originalString smallString を検索します。
部分文字列が見つからない場合、メソッドは 0 を返します。
<プレ>
ようこそ := 'こんにちは、世界!さよなら世界!';
インデックス := pos(ようこそ、「ワー」);
writeln(インデックス); // 7
インデックス := pos(ようこそ、「太陽」);
writeln(インデックス); // 0
プレ>
注意: これらのメソッドは出現回数を検索するのではなく、文字列内にそのような部分文字列が存在するかどうかだけを判断します。 。
|
Pascal で、文字列内の 1 つの部分文字列を別の部分文字列に置き換えるには、stringReplace(): メソッドを使用します。
stringReplace(original, old, new, flag): originalString 部分文字列 old が置き換えられます。 新規、フラグはrfReplaceAll またはrfIgnoreCase、値のいずれかです。角括弧内に書かれています。最初のケースでは、出現したすべてのold が originalString に変換され、2 番目のケースでは最初のケースのみが含まれます。
パスカル文字列の置換例:
<プレ>
電話 = '+1-234-567-89-10'
// ハイフンはスペースに変換されます
edit_phone := stringreplace(phone, '-', ' ', [rfReplaceAll]);
writeln(編集済み_電話); // +1 234 567 89 10
// ハイフンは削除されます
edit_phone := stringreplace(phone, '-', '', [rfReplaceAll]);
writeln(編集済み_電話); // +12345678910
// 最初のダッシュのみが変更されます
edit_phone := replace(phone, '-', '', [rfIgnoreCase]);
writeln(編集済み_電話); // +1234-567-89-10
プレ>
|