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
- Indekset for det første tegn er 0 (ikke 1).
- Hvis pos er lig med strengens længde, returnerer funktionen en tom streng.
- Hvis pos er større end strengens længde, kaster den out_of_range. Hvis dette sker, er der ingen ændringer i strengen.
- Hvis den anmodede understreng kun er større end størrelsen af en streng, så er den returnerede understreng [pos, størrelse()) .
- 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: PÅ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 betydningC++
// 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: PÅ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: PÅ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: PÅ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.