Cara menggunakan fungsi substr() di C++

How Use Substr Function C



Cara untuk memotong setiap bagian dari string disebut sub-string. Fungsi substr() ada di C++ untuk menghasilkan string baru dengan memotong bagian tertentu dari string. NS string.h file library harus disertakan untuk menggunakan fungsi ini. Fungsi ini memiliki dua argumen. Argumen pertama berisi posisi awal string baru, dan argumen kedua berisi panjang string. Cara menggunakan fungsi substr() di C++ telah dijelaskan dalam tutorial ini.

Prasyarat

Sebelum memeriksa contoh tutorial ini, Anda harus memeriksa apakah kompiler g++ sudah terpasang atau tidak di sistem. Jika Anda menggunakan Visual Studio Code, maka instal ekstensi yang diperlukan untuk mengkompilasi kode sumber C++ untuk membuat kode yang dapat dieksekusi. Di sini, aplikasi Visual Studio Code telah digunakan untuk mengkompilasi dan mengeksekusi kode C++.







Sintaksis

string substr (size_t pos = 0, size_t len ​​= npos) const;



Di sini, argumen pertama berisi posisi awal dari mana sub-string akan dimulai, dan argumen kedua berisi panjang sub-string. Fungsi akan mengembalikan sub-string jika posisi dan panjang awal yang valid diberikan. Berbagai kegunaan fungsi ini telah ditunjukkan di bagian selanjutnya dari tutorial ini.



Contoh 1: Penggunaan sederhana dari substr()

Contoh berikut menunjukkan penggunaan fungsi substr() yang paling umum dan sederhana. Buat file C++ dengan kode berikut untuk menghasilkan substring dari nilai string. Sebuah string dari beberapa kata telah ditetapkan ke dalam variabel string. Selanjutnya, posisi awal yang valid dan panjang sub-string memiliki nilai argumen dari fungsi substr(). Baik string asli maupun substring akan dicetak setelah kode dijalankan.





//Sertakan perpustakaan yang diperlukan
#termasuk
#termasuk


ke dalamutama() {
//Mendefinisikan variabel string
jam::rangkaianoriginalstr='Selamat datang di Linuxhint';
//Potong substring menggunakan substr()
jam::rangkaianberita=aslistr.substr (sebelas,9);
//Cetak string asli
jam::biaya <<'String aslinya adalah :' <<originalstr<< ' ';
//Mencetak sub string
jam::biaya <<'Substringnya adalah :' <<berita<< ' ';

kembali 0;
}

Keluaran:

Menurut kode, string aslinya adalah ' Selamat datang di LinuxHint '. 11 telah diberikan sebagai posisi awal sub-string yaitu posisi karakter 'L', dan 9 telah diberikan sebagai nilai panjang dari sub-string. ' LinuxPetunjuk ' telah dikembalikan sebagai output dari fungsi substr() setelah mengeksekusi kode.



Contoh 2: Menggunakan substr() berdasarkan posisi string tertentu

Kode berikut akan menghasilkan sub-string setelah mencari posisi string tertentu. Buat file C++ dengan kode berikut untuk menguji kode. Nilai string dari beberapa kata telah ditentukan dalam kode. Selanjutnya, posisi string tertentu dicari di string utama dengan menggunakan fungsi find(). Fungsi substr() telah digunakan untuk menghasilkan sub-string mulai dari awal string hingga nilai posisi yang akan dikembalikan oleh fungsi find().

//Sertakan perpustakaan yang diperlukan
#termasuk
#termasuk
menggunakan ruang namajam;

ke dalamutama()
{
jam::rangkaianstrData= 'Saya suka pemrograman C++';

// Mari kita cari posisi '--' menggunakan str.find()
ke dalamposisi=strData.Temukan('pemrograman');

// Kita akan mendapatkan substring sampai pola ini
jam::rangkaianberita=strData.substr(0, posisi);

jam::biaya <<strData<< ' ';
jam::biaya <<berita<< ' ';

kembali 0;
}

Keluaran:

Menurut kode, nilai string utama adalah, Saya suka pemrograman C++ dan nilai dari string pencarian adalah, ‘ pemrograman' yang ada di string utama. Jadi, outputnya adalah, ' Saya suka C++ ' setelah mengeksekusi kode.

Contoh 3: Menggunakan substr() dengan penanganan pengecualian

Fungsi substr() telah digunakan dengan penanganan pengecualian dalam kode berikut. Pengecualian akan dihasilkan jika posisi awal yang tidak valid diberikan dalam fungsi substr(). Buat file C++ dengan kode berikut untuk menguji kode. Di blok coba, nilai string dari satu kata telah ditetapkan, dan posisi awal yang tidak valid telah digunakan dalam fungsi substr() yang akan memunculkan pengecualian dan mencetak pesan kesalahan.

//Sertakan perpustakaan yang diperlukan
#termasuk
#termasuk

ke dalamutama() {
mencoba{

//Mendefinisikan variabel string
jam::rangkaianoriginalstr='Linuxhint';
//Potong substring menggunakan substr()
jam::rangkaianberita=aslistr.substr (sebelas,9);
//Mencetak sub string
jam::biaya <<'Substringnya adalah :' <<berita<< ' ';
}
menangkap (konstanjam::diluar jangkauan) {
jam::cerr << 'Posisinya di luar jangkauan. ';
}
kembali 0;
}

Keluaran:

Menurut kode, nilai string utama adalah, LinuxPetunjuk dan nilai posisi awal adalah 11 yang tidak ada. Jadi, pengecualian telah dibuat, dan pesan kesalahan telah dicetak setelah menjalankan kode.

Contoh 4: Menggunakan substr() untuk membagi string

Contoh berikut menunjukkan penggunaan fungsi substr() untuk membagi string berdasarkan pembatas. Fungsi find() telah digunakan untuk mencari posisi pembatas, dan fungsi erase() telah digunakan untuk menghapus string yang dipisahkan dengan pembatas dari string utama. Loop 'while' telah digunakan untuk menemukan semua posisi pembatas di string utama dan menyimpan nilai yang dipecah ke dalam array vektor. Selanjutnya, nilai dari array vektor telah dicetak.

//Sertakan perpustakaan yang diperlukan
#termasuk
#termasuk
#termasuk

ke dalamutama(){
//Menentukan string
jam::rangkaianstringData= 'PHP:C++:Python:';
//Tentukan pemisahnya
jam::rangkaianpemisah= ':';
//deklarasikan variabel vektor
jam::vektorbahasa{};
//deklarasikan variabel integer
ke dalamposisi;
//deklarasikan variabel string
jam::rangkaianoutstr;
/ *
Pisahkan string menggunakan fungsi substr()
dan menambahkan kata yang dipisah ke dalam vektor
* /

ketika ((posisi=stringData.Temukan(pemisah)) !=jam::rangkaian::tidak ada) {
bahasa.push_back(stringData.substr(0, posisi));
stringData.menghapus(0, posisi+pemisah.panjang());
}
//Cetak semua kata yang terbelah
untuk (konstan mobil &outstr:bahasa) {
jam::biaya <<outstr<<jam::akhir;
}
kembali 0;
}

Keluaran:

Menurut kode, nilai string utama adalah PHP:C++:Python dan nilai pembatasnya adalah, ' : ' . Output berikut akan muncul setelah menjalankan skrip di atas.

Kesimpulan

Tujuan utama menggunakan fungsi substr() adalah untuk mengambil substring dari string dengan menyebutkan posisi awal dan panjang sub-string. Berbagai penggunaan fungsi ini telah dijelaskan dalam tutorial ini dengan menggunakan beberapa contoh untuk membantu pengguna C++ baru untuk menggunakannya dengan benar dalam kode mereka.