という文字列がCurrentString
あり、次のような形式です
"Fruit: they taste good"
。
を区切り文字としてCurrentString
使用して分割したいと思い:
ます。
このようにして、単語"Fruit"
は独自の文字列に分割され、"they taste good"
別の文字列になります。
そして、その文字列を表示するためSetText()
に2つの異なるTextViews
を使用したいと思います。
これに取り組む最善の方法は何でしょうか?
という文字列がCurrentString
あり、次のような形式です
"Fruit: they taste good"
。
を区切り文字としてCurrentString
使用して分割したいと思い:
ます。
このようにして、単語"Fruit"
は独自の文字列に分割され、"they taste good"
別の文字列になります。
そして、その文字列を表示するためSetText()
に2つの異なるTextViews
を使用したいと思います。
これに取り組む最善の方法は何でしょうか?
回答:
String currentString = "Fruit: they taste good";
String[] separated = currentString.split(":");
separated[0]; // this will contain "Fruit"
separated[1]; // this will contain " they taste good"
2番目の文字列のスペースを削除することもできます。
separated[1] = separated[1].trim();
文字列をドット(。)などの特殊文字で分割する場合は、ドットの前にエスケープ文字\を使用する必要があります。
例:
String currentString = "Fruit: they taste good.very nice actually";
String[] separated = currentString.split("\\.");
separated[0]; // this will contain "Fruit: they taste good"
separated[1]; // this will contain "very nice actually"
それを行うには他の方法があります。たとえば、StringTokenizer
(からのjava.util
)クラスを使用できます。
StringTokenizer tokens = new StringTokenizer(currentString, ":");
String first = tokens.nextToken();// this will contain "Fruit"
String second = tokens.nextToken();// this will contain " they taste good"
// in the case above I assumed the string has always that syntax (foo: bar)
// but you may want to check if there are tokens or not using the hasMoreTokens method
etPhoneNo.getText().toString().replaceAll("\\D", "");
、数字ではないすべてを置き換えると言っています
.splitメソッドは機能しますが、正規表現を使用します。この例では、(クリスチャンから盗む)です。
String[] separated = CurrentString.split("\\:");
separated[0]; // this will contain "Fruit"
separated[1]; // this will contain " they taste good"
また、これは、 Android分割が正しく機能しないことによるものです。
String s = "having Community Portal|Help Desk|Local Embassy|Reference Desk|Site News";
StringTokenizer st = new StringTokenizer(s, "|");
String community = st.nextToken();
String helpDesk = st.nextToken();
String localEmbassy = st.nextToken();
String referenceDesk = st.nextToken();
String siteNews = st.nextToken();
Android固有のTextUtils.split()メソッドを検討することもできます。
TextUtils.split()とString.split()の違いは、TextUtils.split()で文書化されています。
String.split()は、分割する文字列が空の場合に['']を返します。これは[]を返します。これは結果から空の文字列を削除しません。
これはより自然な行動だと思います。基本的に、TextUtils.split()は、String.split()の単なるラッパーであり、空の文字列の場合を特に処理します。メソッドのコードは実際には非常に単純です。
文字列s = "String ="
String [] str = s.split( "="); // str [0]は「hello」、str [1]は「goodmorning、2,1」
この文字列を追加