Apps Artificial Intelligence CSS DevOps Go JavaScript Laravel Linux MongoDB MySQL PHP Python Rust Vue

Mencari Teks dalam String dengan Fungsi Kustom di JavaScript

2 min read .
Mencari Teks dalam String dengan Fungsi Kustom di JavaScript

Dalam pengembangan web atau aplikasi JavaScript, seringkali saya perlu mencari teks tertentu di dalam string yang lebih besar. Meski JavaScript menyediakan metode bawaan seperti indexOf atau search, terkadang saya ingin kontrol lebih atas hasil pencarian. Di sini akan dibahas cara membuat fungsi kustom findText.

1. Pengenalan Fungsi findText

Fungsi findText dirancang untuk mencari substring dalam string dan mengembalikan teks di posisi substring tersebut. kita bisa menentukan jumlah karakter yang ingin diambil di kiri dan kanan substring yang ditemukan.

Berikut implementasinya:

const findText = (text, f, space = 100) => {
    let tf = f;
    let find = text.search(tf);

    if (find > -1) {
        let cl = 0;
        if ((find - space) > 0) {
            cl = find - space;
        } else {
            cl = 0;
        }

        let cr = tf.length;
        if ((text.length - find) > space) {
            cr = tf.length + find + space;
        } else {
            cr = text.length;
        }

        return text.slice(cl, cr);
    } else {
        return 'not found';
    }
};

2. Penjelasan Implementasi

  • text.search(tf): Mencari substring tf di string text. Mengembalikan indeks pertama jika ditemukan, atau -1 jika tidak.

  • Menentukan Batas Kiri (cl):

    • Jika posisi ditemukan (find) dikurangi space lebih besar dari 0, cl diset ke nilai tersebut.
    • Jika tidak, cl diset ke 0 (awal string).
  • Menentukan Batas Kanan (cr):

    • Jika panjang string dikurangi posisi ditemukan lebih besar dari space, cr diset ke panjang substring ditambah posisi ditemukan ditambah space.
    • Jika tidak, cr diset ke panjang string.
  • Mengembalikan Hasil: Jika substring ditemukan, fungsi mengembalikan potongan string dari cl hingga cr menggunakan slice. Jika tidak ditemukan, fungsi mengembalikan 'not found'.

3. Contoh Penggunaan

const text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.";
const substring = "consectetur";
const result = findText(text, substring, 20);
console.log(result);

Hasilnya:

"m dolor sit amet, consectetur adipiscing elit. Sed do eiu"

Fungsi findText menemukan substring "consectetur" dan mengembalikan 20 karakter sebelum dan sesudahnya.

4. Saat Substring Tidak Ditemukan

Jika substring tidak ada, fungsi akan mengembalikan 'not found':

const text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.";
const substring = "python";
const result = findText(text, substring);
console.log(result);  // Output: 'not found'

5. Kegunaan Fungsi findText

Fungsi ini berguna untuk:

  • Mencari teks di dokumen besar atau log.
  • Analisis data teks.
  • Mendapatkan konteks tambahan di teks yang dicari.

Kesimpulan

Fungsi findText adalah alat efektif untuk mencari dan mengekstrak teks beserta konteksnya. Dengan metode ini, kita bisa dengan mudah menemukan teks dan memperoleh informasi tambahan, yang sangat berguna dalam pengembangan aplikasi dan pemrosesan data.

Lihat Juga

chevron-up