string functions
Megjelenés
Főnév
string functions (tsz. string functionses)
- (informatika) Here is a summary comparison of common string functions across C, C++, Java, and Python, based on the detailed Wikipedia article you provided:
| Function / Operation | C | C++ (STL) | Java | Python |
|---|---|---|---|---|
| CharAt (get char at index) | str[i] |
string[i] or string.at(i) |
string.charAt(i) |
string[i] |
| Compare (integer result) | strcmp(str1, str2) |
string1.compare(string2) |
string1.compareTo(string2) |
(str1 > str2) - (str1 < str2) |
| Compare (relational operators) | strcmp + comparison |
==, !=, <, >, <=, >= |
==, !=, <, >, <=, >= |
==, !=, <, >, <=, >= |
| Concatenate | strcat(dest, src) |
+ |
+ |
+ |
| Contains | strstr(str, substr) != NULL |
string.find(substr) != string::npos |
string.contains(substr) |
substr in string |
| Equality | strcmp(str1, str2) == 0 |
== |
string1.equals(string2) |
== |
| Find (index of substr) | strstr returns pointer; calc index |
string.find(substr) |
string.indexOf(substr) |
string.find(substr) |
| Find char | strchr(str, ch) |
string.find(ch) |
string.indexOf(ch) |
string.find(ch) |
| Format | sprintf(buf, fmt, args) |
std::format(fmt, args) (C++20) |
String.format(fmt, args) |
f"...", "{}".format(), % |
| Inequality | strcmp(str1, str2) != 0 |
!= |
!string1.equals(string2) |
!= |
| Join | manual | string.join(separator) |
String.join(separator, list) |
separator.join(list) |
| Left | manual via strncpy |
string.substr(0, n) |
string.substring(0, n) |
string[:n] |
| Length | strlen(str) |
string.length() |
string.length() |
len(string) |
| Lowercase | loop + tolower() |
std::transform or Boost |
string.toLowerCase() |
string.lower() |
| Partition | manual | manual | manual | string.partition(sep) |
| Replace | manual | string.replace() |
string.replace() or replaceAll() |
string.replace() |
| Reverse | manual | std::reverse or Boost |
new StringBuilder(string).reverse().toString() |
string[::-1] |
| Rfind (last index of substr) | manual | string.rfind(substr) |
string.lastIndexOf(substr) |
string.rfind(substr) |
| Right | manual | string.substr(len - n) |
string.substring(len - n) |
string[-n:] |
| Rpartition | manual | manual | manual | string.rpartition(sep) |
| Split | manual | string.split(sep) |
string.split(sep) |
string.split(sep) |
| Substring | manual via strncpy or pointer math |
string.substr(start, len) |
string.substring(start, end) |
string[start:end] |
| Uppercase | loop + toupper() |
std::transform or Boost |
string.toUpperCase() |
string.upper() |
| Trim | manual | Boost trim_copy |
string.trim() |
string.strip() |
Key Points:
- C:
- Strings are mutable C-style char arrays.
- No native object support → all string operations are manual or via standard C library (e.g.,
strlen,strcmp,strcpy,strstr). - Memory safety is an issue (manual buffer handling).
- C++:
std::stringprovides many modern methods (length, substr, find, rfind, compare, etc.).- Since C++20:
std::formatandstring.contains()added. - Boost and Qt provide richer string utilities.
- Java:
- Strings are immutable.
- Rich
Stringclass:length(),substring(),indexOf(),contains(),replace(),toLowerCase(),split(), etc. StringBuilderorStringBufferused for mutable string operations.
- Python:
- Strings are immutable.
- Very rich and pythonic syntax: slicing,
inkeyword for contains, easysplit,join,strip,replace,lower,upper,partition. - f-strings for formatting since Python 3.6.
- string functions - Szótár.net (en-hu)
- string functions - Sztaki (en-hu)
- string functions - Merriam–Webster
- string functions - Cambridge
- string functions - WordNet
- string functions - Яндекс (en-ru)
- string functions - Google (en-hu)
- string functions - Wikidata
- string functions - Wikipédia (angol)