logo

Understreng i C++

Understrengsfunktionen bruges til at håndtere strengoperationer som f.eks revnet() , Tilføj() , etc . Den genererer en ny streng med dens værdi initialiseret til en kopi af en understreng af dette objekt. I C++ er header-filen, der kræves til std::substr(), strengfunktioner .

iterere gennem map java

Understrengsfunktionen har to værdier pos og kun som et argument og returnerer et nyligt konstrueret strengobjekt med dets værdi initialiseret til en kopi af en understreng af dette objekt. Kopiering af streng starter kl pos og er færdig indtil post+len betyder [pos, pos+len).

Syntaks:



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

Parametre:

  • pos: Placering af det første tegn, der skal kopieres.
  • kun: Længden af ​​understrengen.
  • størrelse_t: Det er en usigneret integraltype.

Returværdi: Det returnerer et strengobjekt.

Eksempel:

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>
  • Tidskompleksitet: PÅ)
  • Hjælpeplads: PÅ)

Flere eksempler:

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

hvis vi skriver: -

  • s.substr(s.begin(),3) => kompileringsfejl (fordi kan ikke konvertere en iterator til en int datatype)
  • s.substr(2,3) => llo (tre bogstaver fra 2. indeks)
  • s.substr(*s.begin()-s[0],3) => hel (*s.begin() er 'h', så betyder 'h'-s[0]=> 'h'-'h'=0 substr(0,3) —– tre bogstaver fra nul indeks
  • s.substr(5,1) => ' ' (udskriver tomrum, dvs. ved 5. indeks)
  • s.substr(2,0) => (ikke output) (vælger nul bogstaver fra andet indeks)

Vigtige punkter at huske

  1. Indekset for det første tegn er 0 (ikke 1).
  2. Hvis pos er lig med strengens længde, returnerer funktionen en tom streng.
  3. Hvis pos er større end strengens længde, kaster den out_of_range. Hvis dette sker, er der ingen ændringer i strengen.
  4. Hvis den anmodede understreng kun er større end størrelsen af ​​en streng, så er den returnerede understreng [pos, størrelse()) .
  5. Hvis kun ikke sendes som en parameter, så er den returnerede understreng [pos, størrelse()).

Anvendelser af understreng

  • Få en understreng efter en karakter
  • Få en understreng før en karakter
  • Udskriv alle understrenge af en given streng
  • Summen af ​​alle understrenge af en streng, der repræsenterer et tal
  • Udskriv den maksimale værdi af alle understrenge af en streng, der repræsenterer et tal
  • Udskriv minimumsværdien af ​​alle understrenge af en streng, der repræsenterer et tal

Få en understreng efter en karakter

I denne gives en streng og et tegn, og du skal udskrive understrengen efterfulgt af det givne tegn.
Udtræk alt efter : i snoren hund kat .

Eksempel:

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>

Tidskompleksitet: PÅ)

Hjælpeplads: PÅ)

numpy linspace

Hvordan får man en understreng før en karakter?

I denne gives en streng og et tegn, og du skal udskrive understrengen efterfulgt af det givne tegn.

Eksempel:

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>

Tidskompleksitet: PÅ)

Hjælpeplads: PÅ)

Hvordan udskriver man alle understrenge af en given streng?

Givet en streng som input. Vi skal skrive et program, der vil udskrive alle ikke-tomme understrenge af den givne streng.

Eksempel:

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>

Tidskompleksitet: 3)

Hjælpeplads: O(1)

indkapsling i java

Udskriv summen af ​​alle understrenge af en streng, der repræsenterer et tal

Givet et heltal repræsenteret som en streng, skal vi få summen af ​​alle mulige understrenge af denne streng.

Eksempel:

xd xd betydning
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();  for (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>

Tidskompleksitet: 3)
Hjælpeplads: PÅ)

Udskriv den maksimale værdi af alle understrenge af en streng, der repræsenterer et tal

Givet et heltal repræsenteret som en streng, skal vi få det maksimale af alle mulige understrenge af den givne streng, som repræsenterer et tal.

Eksempel:

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;  for (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>

Forklaring: Alle understrenge er { 8, 82, 823, 2, 23, 3 } og den maksimale værdi understreng er 823.

Tidskompleksitet: 3)

Hjælpeplads: PÅ!)

Udskriv minimumsværdien af ​​alle understrenge af en streng, der repræsenterer et tal

Givet et heltal repræsenteret som en streng, skal vi få det minimum af alle mulige understrenge af den givne streng, som repræsenterer et tal.

Eksempel:

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;  for (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>

Tidskompleksitet: 3)
Hjælpeplads: PÅ!)

Andre applikationer af understreng

  • Tekstsøgning: Understrenge bruges til at søge efter ord eller sætninger i større tekster. Dette bruges almindeligvis i søgemaskiner, hvor en bruger kan indtaste en sætning eller et søgeord, og motoren vil søge efter alle matches, der indeholder den understreng.
  • Tekstparsing: Understrenge bruges i tekstparsingalgoritmer til at nedbryde større strenge i mindre bidder. For eksempel kan en parser bruges til at udtrække individuelle ord fra en sætning og gemme dem i en datastruktur.
  • Tekstmanipulation: Understrenge bruges i tekstmanipulationsapplikationer til at finde og erstatte bestemte ord eller sætninger i større tekster. Dette kan bruges til at udføre søge- og erstatningsopgaver eller til at opdatere oplysninger i et dokument.
  • Naturlig sprogbehandling: Understrenge bruges i naturlige sprogbehandlingsalgoritmer til at identificere ord og sætninger. Dette bruges i applikationer som talegenkendelse, hvor algoritmen skal identificere ord, der tales af en bruger.
  • Mønster genkendelse: Understrenge bruges i mønstergenkendelsesalgoritmer til at identificere mønstre i data. Dette kan bruges til at identificere tendenser i finansielle data eller til at opdage uregelmæssigheder i billeder.
  • Adgangskodesikkerhed: Understrenge bruges til at bekræfte adgangskoder. Dette gøres ved at sammenligne den indtastede adgangskode med en gemt understreng af den originale adgangskode. Hvis de to matcher, er adgangskoden bekræftet. Denne teknik bruges i mange applikationer for at øge sikkerheden.