logo

Delsträng i C++

Delsträngsfunktionen används för att hantera strängoperationer som knäckt() , bifoga() , etc . Den genererar en ny sträng med dess värde initialiserat till en kopia av en delsträng av detta objekt. I C++ är huvudfilen som krävs för std::substr(), strängfunktioner .

Delsträngsfunktionen har två värden pos och endast som ett argument och returnerar ett nykonstruerat strängobjekt med dess värde initialiserat till en kopia av en understräng av detta objekt. Kopiering av sträng börjar från pos och är klar till post+len betyder [pos, pos+len).

Syntax:



string substr (size_t pos, size_t len) const;>

Parametrar:

  • pos: Position för det första tecknet som ska kopieras.
  • endast: Längden på understrängen.
  • storlek_t: Det är en osignerad integraltyp.

Returvärde: Det returnerar ett strängobjekt.

Exempel:

python-program
C++
// C++ program to demonstrate functioning of substr() #include  #include  using namespace std; int main() {  // Take any string  string s1 = 'Geeks';  // Copy two characters of s1 (starting  // from position 3)  string r = s1.substr(3, 2);  // prints the result  cout << 'String is: ' << r;  return 0; }>

Produktion
String is: ks>
  • Tidskomplexitet: PÅ)
  • Hjälputrymme: PÅ)

Fler exempel:

string: '  h e l l o w o r l d  ' index: 0 1 2 3 4 5 6 7 8 9 10>

om vi skriver: -

sanjay dutt och
  • s.substr(s.begin(),3) => kompileringsfel (eftersom det inte går att konvertera en iterator till en int-datatyp)
  • s.substr(2,3) => llo (tre bokstäver från 2:a index)
  • s.substr(*s.begin()-s[0],3) => hel (*s.begin() är 'h' sedan 'h'-s[0]=> 'h'-'h'=0 betyder substr(0,3) —– tre bokstäver från noll index
  • s.substr(5,1) => ' ' (skriver ut blanksteg, det vill säga vid 5:e index)
  • s.substr(2,0) => (inte utdata) (väljar noll bokstäver från andra index)

Viktiga punkter att komma ihåg

  1. Indexet för det första tecknet är 0 (inte 1).
  2. Om pos är lika med strängens längd, returnerar funktionen en tom sträng.
  3. Om pos är större än strängens längd, kastar den out_of_range. Om detta händer finns det inga ändringar i strängen.
  4. Om den begärda understrängen endast är större än storleken på en sträng, så är den returnerade understrängen [pos, storlek()) .
  5. Om endast inte skickas som en parameter, så är den returnerade understrängen [pos, storlek()).

Tillämpningar av delsträng

  • Få en understräng efter en karaktär
  • Få en understräng före en karaktär
  • Skriv ut alla understrängar av en given sträng
  • Summan av alla delsträngar av en sträng som representerar ett tal
  • Skriv ut det maximala värdet för alla delsträngar i en sträng som representerar ett tal
  • Skriv ut minimivärdet för alla delsträngar i en sträng som representerar ett tal

Få en understräng efter en karaktär

I denna ges en sträng och ett tecken och du måste skriva ut understrängen följt av det givna tecknet.
Extrahera allt efter : i snöret hund katt .

Exempel:

C++
// C++ program to demonstrate functioning of substr() #include  #include  using namespace std; int main() {  // Take any string  string s = 'dog:cat';  // Find position of ':' using find()  int pos = s.find(':');  // Copy substring after pos  string sub = s.substr(pos + 1);  // prints the result  cout << 'String is: ' << sub;  return 0; }>

Produktion
String is: cat>

Tidskomplexitet: PÅ)

Hjälputrymme: PÅ)

Hur får man en delsträng före en karaktär?

I denna ges en sträng och ett tecken och du måste skriva ut understrängen följt av det givna tecknet.

Exempel:

C++
// C++ program to demonstrate functioning of substr() #include  #include  using namespace std; int main() {  // Take any string  string s = 'dog:cat';  // Find position of ':' using find()  int pos = s.find(':');  // Copy substring before pos  // Extract everything before the ':' in the string  // 'dog:cat'.  string sub = s.substr(0, pos);  // prints the result  cout << 'String is: ' << sub;  return 0; }>

Produktion
String is: dog>

Tidskomplexitet: PÅ)

Hjälputrymme: PÅ)

Hur skriver man ut alla understrängar i en given sträng?

Ges en sträng som indata. Vi måste skriva ett program som kommer att skriva ut alla icke-tomma delsträngar av den givna strängen.

Exempel:

exempel på javaklass
C++
// C++ program to demonstrate all possible // substrings of a given string #include  using namespace std; // Function to print all sub strings void subString(string s, int n) {  // Pick starting point in outer loop  // and lengths of different strings for  // a given starting point  for (int i = 0; i < n; i++)  for (int len = 1; len <= n - i; len++)  cout << s.substr(i, len) << endl; } // Driver program to test above function int main() {  string s = 'abcd';  subString(s, s.length());  return 0; }>

Produktion
a ab abc abcd b bc bcd c cd d>

Tidskomplexitet: O(N3)

Hjälputrymme: O(1)

Skriv ut summan av alla delsträngar av en sträng som representerar ett tal

Givet ett heltal representerat som en sträng, måste vi få summan av alla möjliga delsträngar av denna sträng.

Exempel:

C++
// C++ program to print sum of all possible substring of // a number represented as a string #include  using namespace std; // Utility method to convert character digit to // integer digit int toDigit(char ch) { return (ch - '0'); } // Returns sum of all substring of num int sumOfSubstrings(string s) {  vector v;  int n = s.length();  för (int i = 0; i< n; i++) {  for (int len = 1; len <= n - i; len++) {  string sub = (s.substr(i, len));  int x = stoi(sub);  v.push_back(x);  }  }  int res = accumulate(v.begin(), v.end(), 0);  return res; } // Driver code to test above methods int main() {  string num = '1234';  cout << sumOfSubstrings(num) << endl;  return 0; }>

Produktion
1670>

Tidskomplexitet: 3)
Hjälputrymme: PÅ)

java sträng jämförelse

Skriv ut det maximala värdet för alla delsträngar av en sträng som representerar ett tal

Givet ett heltal representerat som en sträng, måste vi få maximalt av alla möjliga delsträngar av den givna strängen som representerar ett tal.

Exempel:

C++
// C++ program to demonstrate max. of all possible // substrings of a given string #include  using namespace std; void subString(string s, int n) {  vector v;  för (int i = 0; i< n; i++) {  for (int len = 1; len <= n - i; len++) {  string sub = (s.substr(i, len));  int x = stoi(sub);  v.push_back(x);  }  }  cout << *max_element(v.begin(), v.end()) << endl; } // Driver program to test above function int main() {  string s = '823';  subString(s, s.length());  return 0; }>

Produktion
823>

Förklaring: Alla delsträngar är { 8, 82, 823, 2, 23, 3 } och delsträngen med maximalt värde är 823.

Tidskomplexitet: 3)

Extra utrymme: PÅ!)

Skriv ut minimivärdet för alla delsträngar av en sträng som representerar ett tal

Givet ett heltal representerat som en sträng, måste vi få ett minimum av alla möjliga delsträngar av den givna strängen som representerar ett tal.

Exempel:

c program
C++
// C++ program to demonstrate minimum of all possible // substrings of a given string #include  using namespace std; void subString(string s, int n) {  vector v;  för (int i = 0; i< n; i++) {  for (int len = 1; len <= n - i; len++) {  string sub = (s.substr(i, len));  int x = stoi(sub);  v.push_back(x);  }  }  cout << *min_element(v.begin(), v.end()) << endl; } // Driver program to test above function int main() {  string s = '4572';  subString(s, s.length());  return 0; }>

Produktion
2>

Tidskomplexitet: 3)
Extra utrymme: PÅ!)

Andra tillämpningar av delsträng

  • Textsökning: Delsträngar används för att söka efter ord eller fraser i större texter. Detta används vanligtvis i sökmotorer, där en användare kan skriva in en fras eller ett nyckelord och motorn kommer att söka efter alla matchningar som innehåller den delsträngen.
  • Texttolkning: Delsträngar används i textanalysalgoritmer för att bryta ner större strängar i mindre bitar. Till exempel kan en parser användas för att extrahera enskilda ord från en mening och lagra dem i en datastruktur.
  • Textmanipulation: Delsträngar används i textmanipuleringsapplikationer för att hitta och ersätta vissa ord eller fraser i större textkroppar. Detta kan användas för att utföra sökning och ersätta uppgifter, eller för att uppdatera information i ett dokument.
  • Naturlig språkbehandling: Delsträngar används i naturliga språkbehandlingsalgoritmer för att identifiera ord och fraser. Detta används i applikationer som taligenkänning, där algoritmen måste identifiera ord som talas av en användare.
  • Mönsterigenkänning: Delsträngar används i mönsterigenkänningsalgoritmer för att identifiera mönster i data. Detta kan användas för att identifiera trender i finansiell data eller för att upptäcka anomalier i bilder.
  • Lösenordssäkerhet: Delsträngar används för att verifiera lösenord. Detta görs genom att jämföra det angivna lösenordet med en lagrad delsträng av det ursprungliga lösenordet. Om de två matchar är lösenordet verifierat. Denna teknik används i många applikationer för att öka säkerheten.