string functions (tsz. string functionses)
Function / Operation | C | C++ (STL) | Java | Python |
---|---|---|---|---|
CharAt (get char at index) | str
|
string or string.at(i)
|
string.charAt(i)
|
string
|
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
|
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
|
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
|
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
|
Uppercase | loop + toupper()
|
std::transform or Boost
|
string.toUpperCase()
|
string.upper()
|
Trim | manual | Boost trim_copy
|
string.trim()
|
string.strip()
|
strlen
, strcmp
, strcpy
, strstr
).std::string
provides many modern methods (length, substr, find, rfind, compare, etc.).std::format
and string.contains()
added.String
class: length()
, substring()
, indexOf()
, contains()
, replace()
, toLowerCase()
, split()
, etc.StringBuilder
or StringBuffer
used for mutable string operations.in
keyword for contains, easy split
, join
, strip
, replace
, lower
, upper
, partition
.