Algartam Cuardaigh (String Search) Teaghrán i Java

Teicníc bhunúsach i Java ríomhchlárú is ea an Algartam Cuardaigh Teaghrán a úsáidtear chun fotheaghrán ar leith a chuardach laistigh de theaghrán níos mó. Úsáidtear an algartam seo go forleathan i bhfeidhmchláir éagsúla próiseála téacs, lena n-áirítear eagarthóirí téacs, innill chuardaigh, agus uirlisí anailíse sonraí.

Conas a Oibríonn Algartam an Chuardaigh Teaghráin

Oibríonn Algartam an Chuardaigh Teaghráin trí gach carachtar den fhotheaghrán atá á chuardach a chur i gcomparáid le carachtair na príomhshreangán. Déanann sé atriall tríd an bpríomhtheaghrán agus seiceálann sé meaitseáil fhéideartha trí charachtair a chur i gcomparáid ceann ar cheann. Má aimsítear meaitseáil, léiríonn sé suíomh tosaigh na fotheaghrán laistigh den phríomhtheaghrán.

Buntáistí agus Míbhuntáistí an Algartam Cuardaigh Teaghrán

Buntáistí:

  • Cur i bhfeidhm Simplí: Tá an algartam éasca le tuiscint agus le cur i bhfeidhm, rud a fhágann go bhfuil sé oiriúnach do thascanna bunúsacha cuardaigh teaghráin.
  • Infheidhme maidir le Cásanna Éagsúla: Is féidir an t-algartam seo a úsáid i raon leathan feidhmchlár a bhaineann le patrúin ar leith a chuardach laistigh de shonraí téacs.

Míbhuntáistí:

  • Neamhéifeachtach maidir le Téacsanna Móra: Sna cásanna is measa, féadann castacht ama an algartam éirí ard, rud a fhágann nach bhfuil sé éifeachtach do théacsanna móra.
  • Meaitseáil Theoranta Patrún: Seans nach láimhseálfaidh an leagan bunúsach den algartam riachtanais chasta maidir le meaitseáil patrún.

Sampla agus Míniú

Breathnaímis ar shampla den Algartam Cuardaigh Teaghrán a úsáid chun focal sonrach a aimsiú in abairt i Java.

public class StringSearchExample {  
    public static int searchString(String mainString, String substring) {  
        int mainLength = mainString.length();  
        int subLength = substring.length();  
  
        for(int i = 0; i <= mainLength- subLength; i++) {  
            int j;  
  
            for(j = 0; j < subLength; j++) {  
                if(mainString.charAt(i + j) != substring.charAt(j)) {  
                    break;  
                }  
            }  
  
            if(j == subLength) {  
                return i; // Substring found at position i  
            }  
        }  
  
        return -1; // Substring not found  
    }  
  
    public static void main(String[] args) {  
        String text = "The quick brown fox jumps over the lazy dog";  
        String search = "fox";  
  
        int position = searchString(text, search);  
  
        if(position != -1) {  
            System.out.println("Substring found at position: " + position);  
        } else {  
            System.out.println("Substring not found");  
        }  
    }  
}  

Sa sampla seo, déanann an t-algartam cuardach ar an bhfotheaghrán "sionnach" laistigh den téacs a thugtar. Déanann sé atriall trí gach carachtar den téacs, á chur i gcomparáid le carachtair an fhotheaghráin. Nuair a aimsítear meaitseáil, filleann an t-algartam suíomh tosaigh an tsubteaghráin sa téacs.

Léiríonn sé seo conas is féidir leis an Algartam Cuardaigh Teaghrán fotheaghráin a aimsiú laistigh de shonraí téacs níos mó, rud a fhágann gur teicníocht riachtanach é le haghaidh láimhsiú téacs agus anailíse i Java ríomhchlárú.