簡體   English   中英

為什么我的Java split方法導致打印空行?

[英]Why is my Java split method causing an empty line to print?

我正在從學校進行一次簡短的作業,由於某種原因,兩個分隔符彼此相鄰,導致打印出空行。 如果他們之間有空間,但沒有空間,我會理解這一點。 我是否缺少簡單的東西? 我希望每個令牌一次只打印一行而不打印~.

public class SplitExample
{
    public static void main(String[] args)
    {
        String asuURL = "www.public.asu.edu/~JohnSmith/CSE205";
        String[] words = new String[6];
        words = asuURL.split("[./~]");
        for(int i = 0; i < words.length; i++)
        {
            System.out.println(words[i]);
        }
    }
}//end SplitExample

編輯:所需的輸出如下

www
public
asu
edu
JohnSmith
CSE205

如果他們之間有空間但沒有空間,我會理解的

是的,請確保它們之間沒有空格,但是它們之間沒有空字符串。 實際上,每對字符之間都有一個空字符串。

這就是為什么當分隔符彼此相鄰時,拆分會在它們之間得到空字符串。

我希望每個令牌一次只打印一行而不打印~.

那么,為什么要在分隔符中包含/ [./~]表示匹配. /~ 拆分它們也不會打印/ 如果您只想拆分~. ,然后在字符類- [.~]使用它們。 但是,還不清楚您到底想要什么輸出。 也許您可以為當前輸入發布預期的輸出。


似乎您正在分裂. //~ 在這種情況下,您不能在此處使用字符類。 您可以使用此模式進行拆分:-

String[] words = asuURL.split("[.]|/~?");

這將拆分:- . /~/ (因為~是可選的)

您認為唾液會產生什么? /和〜之間是什么? 是的,沒錯,這里有一個空字符串(“”)。

/~之間沒有字符,因此當您分割這些字符時,應該會看到一個空白字符串。

我懷疑你不需要分裂~而且實際上我不會分裂. 要么。

暫無
暫無

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

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