1

私が取り組んでいるアプリでは、最初の単語を a から抽出しStringて別の単語に入れString、残りの単語をさらに別の に入れる必要がありますString。次を使用して最初の単語を抽出できました。

String pString = "KOF0000094 Implementation:ListingRequest:User FO-Partner"
int spacePos3 = pString.indexOf(" ");
String pFirstWord = pString.substring(0,spacePos3);

結果:KOF0000094

ここで、「Implementation:ListingRequest:User FO-Partner」を別の に入れたいと思いますString

事前にご協力いただきありがとうございます

4

9 に答える 9

3

すでに持っているものを使用した最も簡単なソリューション。

String restOfString = pString.substring(spacePos3+1)
于 2012-07-23T15:54:09.840 に答える
3
String pSecondWord = pString.substring(spacePos3 + 1);
于 2012-07-23T15:54:11.937 に答える
3
String whole = "KOF0000094 Implementation:ListingRequest:User FO-Partner";
String firstWord = "";  
String restOfWords = "";

int spacesIndex = whole.indexOf("   ", 0);
restOfWords = whole.substring(spacesIndex, whole.length());
restOfWords = restOfWords.trim();
firstWord = whole.substring(0, spacesIndex);
firstWord = firstWord.trim();
于 2012-07-23T16:02:59.310 に答える
2

substring() への別の呼び出しを使用してみてください。必要な文字列の最初の文字のインデックスは何ですか? 最後の文字のインデックスは?

于 2012-07-23T15:53:29.183 に答える
2

これは単純な文字列解析です...最初のスペースの最初のインデックスを見つけるだけです...つまり、forループで...

if(string.charAt(i) == Characters.SPACE)
    indexOfSpace = i;

次に、あなたの最初の言葉は

String part1 = string.substring(0,indexOfSpace);

2番目の文字列は次のようになります

String part2 = string.substring(indexOfSpace + 1);
于 2012-07-23T15:54:00.017 に答える
2

最初の単語の終わりを示す最初のスペースのインデックスが既にあるので、必要なのは、その直後のインデックスから部分文字列を取得することだけです (したがって、スペース自体は含めません)。文字列。

于 2012-07-23T15:54:28.300 に答える
0

おそらく、分割関数を使用する方が適切です。次のようになります。

String pString = "KOF0000094 Implementation:ListingRequest:User FO-Partner";        
String[] parts = pString.split(" ");
String partone = parts[0];
String partwo  = parts[1] + " " +parts[2];

または、最初の単語に続く部分にさらにスペースがある場合は、ループなどを使用できます。

于 2012-07-23T15:55:46.180 に答える
-1

String クラスには分割メソッドがあります: http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#split(java.lang.String )

すべての単語を取得したい場合は、それを使用してください。

編集: コメントで述べたように、String.splitBB Java ではサポートされていません。

または、最初の単語と残りの文字列が必要な場合は、次のようにします。

int index=yourstring.indexOf(" ");
String firstWord = yourstring.substring(0,index);
String rest = yourstring.substring(index+1);
于 2012-07-23T15:53:15.183 に答える
-1

たとえば、分割を使用できます...

static String pString = "KOF0000094 Implementation:ListingRequest:User FO-Partner";
    static String[] pFirstWord = pString.split(" ");

/**
 * @param args
 */
public static void main(String[] args) {
    for(String word : pFirstWord) {
        System.out.println(word);
    }
}

これが返ってきた…

KOF0000094

Implementation:ListingRequest:User

FO-Partner

したがって、最後の文字列は pFirstWord[1] + pFirstWord[2] になります。

于 2012-07-23T15:54:22.243 に答える