簡體   English   中英

我用逗號分割字符串時遇到麻煩

[英]I am having trouble splitting string with a comma

這是我的代碼和拋出的錯誤:

import java.util.Scanner;

public class ParseStrings {
   public static void main(String[] args) {
   Scanner scnr  = new Scanner(System.in);
        Scanner inSS = null;
        String inputString = "";
        String firstWord = "";
        String secondWord = "";

        inSS = new Scanner(inputString);
        boolean flag = false;
        while (!flag){
            System.out.print("Enter input string: \n");
            inputString = scnr.nextLine();
         if (inputString.equals("q")){
             flag = true;
         break;
         }
            // comma = inputString.indexOf(",");
         if (!inputString.contains(",")){
         System.out.println("Error: No comma in string");
         }
         // if (comma <= 0)
         // {
         // System.out.println("Error: No commas in string.");
         // flag = true;
         // }
         // else
         // {
         else
         {
         for (int i = 0; i < inputString.length(); i++){
         firstWord = inSS.next();
         // comma = inSS.next();
         secondWord = inSS.next();
         System.out.println("First word: " + firstWord);
         System.out.println("Second word: " + secondWord);
         // flag = false;
         }


         return;
         }
        }
         }           
}

輸入吉爾,艾倫q

您的輸出以Enter輸入字符串開頭: 線程“ main”中的異常java.util.NoSuchElementException at預期的輸出以
輸入輸入字符串:第一個字:Jill第二個字:Allen

有多種方法可以完成此任務,但我想向您介紹Java的String Class中的一些常用方法。

  1. String.substring()String.indexOf()方法結合使用,可以快速拆分字符串以獲取所需的數據,它的工作原理如下:

     String inputString = "Hello, World"; String firstWord = inputString.substring(0, inputString.indexOf(",")); String secondWord = inputString.substring(inputString.indexOf(",") + 2); // Why use the number 2 above? Read the supplied links. Try it with 1 // to see what happens. System.out.println(firstWord + "-" + secondWord); 
  2. 另一個值得研究的方法是String.split()方法。 使用此方法,可以通過輸入字符串並將用逗號(或其他任何字符)定界的字符串部分放入一維字符串數組中,從而快速完成您要執行的操作:

     String inputString = "Hello, World"; String[] words = inputString.split(", "); System.out.println(words[0] + "-" + words[1]); 

了解這些方法。

暫無
暫無

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

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