LoginSignup
9
9

More than 5 years have passed since last update.

Java-Python文字列操作対比

Last updated at Posted at 2016-03-13

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を追加

9
9
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9