Java8とPython3の基本的な文字操作の対比です。
文字列の一致
Java |
Python |
結果 |
"abc".equals("abc") |
'abc' == 'abc' |
True |
文字列の長さ
Java |
Python |
結果 |
"abcde".length() |
len('abcde') |
5 |
文字列の一部
Java |
Python |
結果 |
"abcde".substring(1) |
'abcde'[1:] |
'bcde' |
"abcde".substring(0,2) |
"abcde"[:2] |
'ab' |
"abcde".substring(1,4) |
'abcde'[1:4] |
'bcd' |
"abcde".substring(0,"abcde".length()-2) |
'abcde'[:-2] |
'abc' |
指定された文字の最初の位置
Java |
Python |
結果 |
"abcde".indexOf('d') |
'abcde'.find('d') |
3 |
"abcde".indexOf('X') |
'abcde'.find('X') |
-1 |
文字列が指定されたprefixで始まるか
Java |
Python |
結果 |
"abcde".startsWith("abc") |
'abcde'.startswith('abc') |
True |
"abcde".startsWith("bcd") |
'abcde'.startswith('bcd') |
False |
文字列が指定されたsuffixで終わるか
Java |
Python |
結果 |
"abcde".endsWith("de") |
'abcde'.endswith('de') |
True |
"abcde".endsWith("cd") |
'abcde'.endswith('cd') |
False |
文字列が指定された文字列を含むか
Java |
Python |
結果 |
"abcde".contains("bcd") |
"bcd" in "abcde" |
True |
"abcde".contains("ae") |
"ae" in "abcde" |
False |
文字列 to 数値
Java |
Python |
結果 |
Integer.parseInt("1")+2 |
int('1')+2 |
3 |
数値 to 文字列
Java |
Python |
結果 |
String.valueOf(1)+"2" |
str(1)+'2' |
'12' |
String.valueOf(1)+2 |
str(1)+2 |
Pythonではエラー |
文字列の分割
Java |
Python |
結果 |
"a,b,c".split(",") |
'a,b,c'.split(',') |
['a', 'b', 'c'] |
文字列の結合
Java |
Python |
結果 |
String.join(",", new String[]{"a","b","c"}) |
",".join(['a', 'b', 'c']) |
'a,b,c' |
Java7までなら
import org.apache.commons.lang3.StringUtils;
StringUtils.join(new String[]{"a","b","c"},",")
ドキュメントリンク
あとはここで調べる
Java8 クラスString
Python2系 「3.6.1 文字列メソッド」
Python3系 「4.7. テキストシーケンス型」
改定履歴
2016/3/14 初版
2016/3/15 equals,startsWith,endsWith,containsを追加