簡體   English   中英

java如何將字符串中的單詞分開並將每個單獨的單詞存儲在變量中

[英]java how to separate words in a string and store each seperate word in a variable

我需要將掃描儀輸入分解為單獨的單詞或在出現空格的任何位置。 我有一些工作,但是,如果該行的單詞太多或太少,我將無法正常工作。 請幫我。 我有一個星期一的截止日期。 這是我當前的代碼。

//import java.util.Scanner;
public class durodyne {

    public static void main(String[] args) {
        String name;
        String part1;
        String remain1;
        String part2;
        String part3;
        String part4;
        String part5;
        String part6;
        String part7;



        Scanner keyboard = new Scanner(System.in);
        System.out.println("Enter Full Product Name");
        name = keyboard.nextLine();

        int space=name.indexOf(' ');

        part1 = name.substring(0, space);

        int space2 = name.indexOf(' ', space + 1);
        int space3 = name.indexOf(' ', space2 + 1);

        part2 = name.substring(space, space2);

        int space4 = name.indexOf(' ', space3 + 1);
        int space5 = name.indexOf(' ', space4 + 1);


        part3 = name.substring(space2, space3);

        int space6 = name.indexOf(' ', space5 + 1);
        int space7 = name.indexOf(' ', space6 + 1);


        part4 = name.substring(space3, space4);


        part5 = name.substring(space4, space5);

        part6 = name.substring(space5, space6);

        part7 = name.substring(space6, space7);]

    }
//your initialization 
List<String> names = new ArrayList<String>();
 Scanner keyboard = new Scanner(System.in);
    System.out.println("Enter Full Product Name");
    name = keyboard.nextLine();
    names = Arrays.asList(name.split(" "));
   //your code
String[] nameParts = name.split(" ");
for(String part: nameParts) {
    // Use part as required
}

String.split();

這是一個示例:假設您將輸入存儲在名為“ blah”的字符串中。 你可以這樣做:

    String blah = "lass ias sfsf sfsfs sfsfs sfsdfs sfsdfs sfsdfs jj";

    String [] parts = blah.split(" "); //all parts stored in an array

            //Printing the array to show you the array content. 
    for(String s : parts) { 
        System.out.println("parts : " + s);         
    }

最好使用類似這樣的方法來解析輸入字符串。

int wordCount=0;
String words[MaxPossiWords];
int j=0;
char ch;
for(int i=0;i<sent.length();i++) {
    ch = sent.charAt(i);
    if( ch == ' '){
    words[wordCount++]= new String(curCharArray);
    j=0;
    }
    curCharArray[j++]=sent.charAt(i);
    }
//finished parsing the line to words.
for(int i=0;i<wordCount;i++)
   System.out.println(words[i]+", ");

這種方式使解析有點動態。 如果您需要更多的動態性,則可以使用ArrayList集合而不是String的單詞array
編碼愉快。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM