Dalam Pascal, anda boleh memilih sebahagian daripada rentetan ( substring). Untuk ini, operasi salin digunakan.
Bentuk umum operasi adalah seperti berikut:
s1 := salinan(s, indeks, kiraan);
Perintah ini mengambil hirisan daripada rentetan s , bermula pada aksara pada indeks indeks kiraan panjang.
Sebagai contoh,
s1 := salinan(s, 3, 5);
Jika indeks lebih besar daripada panjang rentetan, maka rentetan kosong dikembalikan. Jika bilangan aksara, bermula pada indeks, lebih panjang daripada panjang rentetan, maka rentetan s dikembalikan, bermula pada indeks dan berakhir.
Dan inilah cara mudahnya untuk membalikkan rentetan:
s := '0123456789';
s1 : = reverseString(s); // s1 = '0123'
|
Untuk memadamkan sebahagian daripada rentetan, anda perlu menggunakan kaedah delete(s, firstIndex, count): ia mengalih keluar count aksara daripada rentetan s, bermula dari firstIndex
s := '0123456789';
padam(s, 4, 6); // s1="0129"
Untuk menyalin sebahagian daripada rentetan, anda boleh menggunakan kaedah salinan (s, indeks, kiraan) - ia akan mengembalikan sebahagian daripada rentetan s, bermula pada indeks indeks kuat> dan panjang kira
s := '123456789';
s1 := salinan(s, 3, 4); // s1 = '3456'
|
Pascal mempunyai banyak rutin untuk bekerja dengan rentetan. Banyak daripada mereka dipanggil menggunakan notasi titik dan dipanggil kaedah. Senarai lengkap kaedah manipulasi rentetan boleh didapati dalam talian.
Mari kita berkenalan dengan sebahagian daripada mereka.
s := 'aAbBcC'
sUp := huruf besar(s); // sUp = "AABBCC" - kaedah yang menukar setiap aksara rentetan kepada huruf besar
sLow := huruf kecil // sLow = "aabbcc" - kaedah yang menukar setiap aksara rentetan kepada huruf kecil
Kaedah sentiasa ditulis dengan kurungan. Terdapat beberapa parameter di dalam kurungan, jika ia diperlukan.
Kaedah lain yang berguna - val(s, v, ind) - kaedah untuk menyemak sama ada semua aksara rentetan ialah digit. s - rentetan sumber, v mengandungi nombor jika rentetan sumber ialah nombor dan 0 sebaliknya, ind mengandungi nombor < kuat> indeks s yang bukan digit, atau 0 jika s ialah nombor.
s := 'ab1c'
val(s, v, ind);
writeln(v, ' ', ind); // 0 3
s := '123';
val(s, v, ind);
w(vriteln, ' ', ind); // 123 0
Kaedah trim berguna - membolehkan anda mengalih keluar ruang pada permulaan dan penghujung rentetan
s := ' ab 1c ';
print('s=', trim(s)); // s=ab 1c
|
Untuk mencari dalam rentetan dalam Pascal, gunakan kaedah pos() .
Ia telah mengembalikan indeks kejadian pertama subrentetan dalam rentetan:
pos(originalString, smallString) - kelihatan dalam originalString smallString
Apabila subrentetan tidak ditemui, kaedah mengembalikan 0:
selamat datang := 'Hello dunia! Selamat tinggal dunia!';
index := pos(selamat datang, 'wor');
writeln(indeks); // 7
indeks := pos(selamat datang, 'matahari');
writeln(indeks); // 0
Sila ambil perhatian: kaedah ini tidak mencari bilangan kejadian, tetapi hanya menentukan sama ada terdapat subrentetan sedemikian dalam rentetan atau tidak .
|
Dalam Pascal, untuk menggantikan satu subrentetan dengan yang lain dalam rentetan, gunakan kaedah stringReplace():
stringReplace(asal, lama, baharu, bendera): originalString substring lama digantikan pada baharu, bendera adalah salah satu daripada rfReplaceAll atau rfIgnoreCase, nilai ditulis dalam kurungan segi empat sama. Dalam kes pertama, semua kejadian lama ke Rentetan asal, pada yang kedua, hanya yang pertama.
Contoh penggantian rentetan Pascal:
telefon = '+1-234-567-89-10'
// sempang ditukar kepada ruang
edited_phone := stringreplace(telefon, '-', ' ', [rfReplaceAll]);
writeln(edited_phone); // +1 234 567 89 10
// sempang dialih keluar
edited_phone := stringreplace(telefon, '-', '', [rfReplaceAll]);
writeln(edited_phone); // +12345678910
// hanya sempang pertama berubah
edited_phone := ganti(telefon, '-', '', [rfIgnoreCase]);
writeln(edited_phone); // +1234-567-89-10
|