以下の文字列を検討してください
String names = "Bharath-Vinayak-Harish-Punith"
Bharathのみを含む文字列の形式で出力を取得したい。(「-」演算子の最初の出現までの文字列)。誰でも教えてください、どうすればこれを行うことができますか?
以下の文字列を検討してください
String names = "Bharath-Vinayak-Harish-Punith"
Bharathのみを含む文字列の形式で出力を取得したい。(「-」演算子の最初の出現までの文字列)。誰でも教えてください、どうすればこれを行うことができますか?
一般的なケースでは、前の回答のメソッドに同意しsplit
ますが、最初の文字列のみを返す場合、サブストリングメソッドはプログラマーにとって同じ量の作業になります(そして、非常に大きな文字列の場合、計算作業が少なくなります)。
String result = names.substring(0, names.indexOf('-'))
Groovy 2.0 (昨日リリース) を使用している場合は、次のことができます。
String names = 'Bharath-Vinayak-Harish-Punith'
String result = names.takeWhile { it != '-' }
assert result == 'Bharath'
分割を使用できます:
def theName = names.split(/-/)[0]
split は文字列配列を返し、最初の配列要素を取得します。
Apache Commons Langライブラリ (Grails などの他のさまざまなフレームワークの一部) を利用できる場合:
def result = StringUtils.substringBefore(names, '-')
敬具、ビョルン
def names= 'Bharath-Vinayak-Harish-Punith'
assert "Bharath" == (names =~ /^(.*?)\-/)[0][1]