Delstrengfunksjonen brukes til å håndtere strengoperasjoner som sprukket() , legge til() , etc . Den genererer en ny streng med verdien initialisert til en kopi av en understreng av dette objektet. I C++ er overskriftsfilen som kreves for std::substr(), strengfunksjoner .
iterer gjennom kart-java
Delstrengfunksjonen har to verdier pos og bare som et argument og returnerer et nykonstruert strengobjekt med verdien initialisert til en kopi av en understreng av dette objektet. Kopiering av streng starter fra pos og er ferdig til post+len betyr [pos, pos+len).
Syntaks:
string substr (size_t pos, size_t len) const;>
Parametere:
- pos: Plassering av det første tegnet som skal kopieres.
- bare: Lengde på understrengen.
- size_t: Det er en usignert integraltype.
Returverdi: Den 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; }> Produksjon
String is: ks>
- Tidskompleksitet: PÅ)
- Hjelpeplass: 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) => kompileringsfeil (fordi kan ikke konvertere en iterator til en int datatype)
- s.substr(2,3) => llo (tre bokstaver fra andre indeks)
- s.substr(*s.begin()-s[0],3) => hel (*s.begin() er 'h', så betyr 'h'-s[0]=> 'h'-'h'=0 substr(0,3) —– tre bokstaver fra null indeks
- s.substr(5,1) => ' ' (skriver ut tomrom, det vil si ved 5. indeks)
- s.substr(2,0) => (ikke utdata) (velger null bokstaver fra andre indeks)
Viktige punkter å huske
- Indeksen til det første tegnet er 0 (ikke 1).
- Hvis pos er lik strenglengden, returnerer funksjonen en tom streng.
- Hvis pos er større enn strenglengden, kaster den utenfor rekkevidde. Hvis dette skjer, er det ingen endringer i strengen.
- Hvis den forespurte understrengen bare er større enn størrelsen på en streng, så er den returnerte understrengen [pos, størrelse()) .
- Hvis bare ikke sendes som en parameter, så er returnert understreng [pos, størrelse()).
Anvendelser av understreng
- Få en understreng etter en karakter
- Få en understreng før en karakter
- Skriv ut alle understrenger til en gitt streng
- Summen av alle understrenger av en streng som representerer et tall
- Skriv ut maksimumsverdien for alle understrenger i en streng som representerer et tall
- Skriv ut minimumsverdien for alle understrenger i en streng som representerer et tall
Få en understreng etter en karakter
I denne er det gitt en streng og et tegn, og du må skrive ut understrengen etterfulgt av det gitte tegnet.
Trekk ut alt etter : i strengen hund katt .
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; }> Produksjon
String is: cat>
Tidskompleksitet: PÅ)
Hjelpeplass: PÅ)
numpy linspace
Hvordan få en understreng før en karakter?
I denne er det gitt en streng og et tegn, og du må skrive ut understrengen etterfulgt av det gitte tegnet.
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; }> Produksjon
String is: dog>
Tidskompleksitet: PÅ)
Hjelpeplass: PÅ)
Hvordan skrive ut alle understrenger til en gitt streng?
Gitt en streng som input. Vi må skrive et program som vil skrive ut alle ikke-tomme understrenger av den gitte strengen.
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; }> Produksjon
a ab abc abcd b bc bcd c cd d>
Tidskompleksitet: O( N3)
Hjelpeplass: O(1)
innkapsling i java
Skriv ut summen av alle understrenger av en streng som representerer et tall
Gitt et heltall representert som en streng, må vi få summen av alle mulige delstrenger av denne strengen.
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; }> Produksjon
1670>
Tidskompleksitet: PÅ3)
Hjelpeplass: PÅ)
Skriv ut maksimalverdien av alle understrenger av en streng som representerer et tall
Gitt et heltall representert som en streng, må vi få maksimalt av alle mulige delstrenger av den gitte strengen som representerer et tall.
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; }> Produksjon
823>
Forklaring: Alle delstrenger er { 8, 82, 823, 2, 23, 3 } og den maksimale verdien av delstrengen er 823.
Tidskompleksitet: PÅ3)
Ekstra plass: PÅ!)
Skriv ut minimumsverdien for alle understrenger av en streng som representerer et tall
Gitt et heltall representert som en streng, må vi få minimum av alle mulige delstrenger av den gitte strengen som representerer et tall.
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; }> Produksjon
2>
Tidskompleksitet: PÅ3)
Ekstra plass: PÅ!)
Andre applikasjoner av understreng
- Tekstsøking: Understrenger brukes til å søke etter ord eller uttrykk i større tekster. Dette brukes ofte i søkemotorer, der en bruker kan skrive inn en setning eller et søkeord, og motoren vil søke etter treff som inneholder den understrengen.
- Tekstanalyse: Delstrenger brukes i tekstparsingalgoritmer for å bryte ned større strenger i mindre biter. For eksempel kan en parser brukes til å trekke ut individuelle ord fra en setning og lagre dem i en datastruktur.
- Tekstmanipulering: Understrenger brukes i tekstmanipulasjonsapplikasjoner for å finne og erstatte bestemte ord eller uttrykk i større tekster. Dette kan brukes til å utføre søk og erstatte oppgaver, eller til å oppdatere informasjon i et dokument.
- Naturlig språkbehandling: Delstrenger brukes i naturlig språkbehandlingsalgoritmer for å identifisere ord og uttrykk. Dette brukes i applikasjoner som talegjenkjenning, der algoritmen må identifisere ord som snakkes av en bruker.
- Mønstergjenkjenning: Delstrenger brukes i mønstergjenkjenningsalgoritmer for å identifisere mønstre i data. Dette kan brukes til å identifisere trender i økonomiske data, eller for å oppdage uregelmessigheter i bilder.
- Passordsikkerhet: Understrenger brukes til å bekrefte passord. Dette gjøres ved å sammenligne det angitte passordet med en lagret delstreng av det opprinnelige passordet. Hvis de to samsvarer, er passordet bekreftet. Denne teknikken brukes i mange applikasjoner for å øke sikkerheten.