如何识别仅包含空格的字符串

时间:2015-02-19 13:50:36

标签: java string

我有一个长字符串,我用空格分割它,在某些部分有多个空格,所以空格变成一个字符串。我创建了一个for循环并试图识别那些空格字符串以跳过它们,但不幸的是,我正在使用的代码找不到它们。

public static void main( String[] args ){  


    String s = "Monday Tuesday Wednesday 8:00       8:15       8:30       8:45       9:00       9:15       9:30       9:45       10:00 IT Service Mgt. F1.2 wkFeb2-wkMar23, wkApr13-wkMay11 IT Service Mgt. B180 wkFeb2-wkMar23, wkApr13-wkMay11 Strategic IT Mgt. F1.2 wkFeb2-wkMar23, wkApr13-wkMay11 10:15 10:30 10:45 11:00 Strategic IT Mgt. B145 wkFeb2-wkMar23, wkApr13-wkMay11   11:15   11:30   11:45   12:00     12:15     12:30     12:45     13:00 IT Service Mgt. B145 wkFeb2-wkMar23, wkApr13-wkMay11 IT Service Mgt. E7 wkFeb2-wkMar23, wkApr13-wkMay11   13:15   13:30   13:45   14:00   Sec. Penetration Testing B251 wkFeb2-wkMar23, wkApr13-wkMay11 Ent. Storage Sys. C129 wkFeb2-wkMar23, wkApr13-wkMay11 14:15   14:30   14:45   15:00   Ent. Storage Sys. C129 wkFeb2-wkMar23, wkApr13-wkMay11 15:15   15:30   15:45   16:00   Sec. Penetration Testing C136 wkFeb2-wkMar23, wkApr13-wkMay11 Ent. Storage Sys. C134x wkFeb2-wkMar23, wkApr13-wkMay11 16:15   16:30   16:45   17:00     17:15     17:30     17:45    ";
    String[] parts = s.split(" ");
    String space = " ";
    for(int i=0; i<parts.length;i++)
    {   

        if(parts[i].charAt(0) == ' ')
        {
            System.out.println("askdfhlghlaksjdgsdasasfasfasdfasd");
        }
        if(parts[i].compareTo(" ")==0){
            System.out.print("asdfghgfdsaASDFGHGFDSASDFGHJKJHGFDSASDFGHJKJHGTFRD");
        }
        System.out.print(parts[i]);
    }
} 

2 个答案:

答案 0 :(得分:3)

使用s.split("[ ]+")的正则表达式,例如[ ]+

[\t ]+表示至少与空格匹配一次。

如果要匹配至少出现一次的空格或制表符,可以使用{{1}}。

如果要跳过字符串开头或结尾的空格,请使用split

这是trim

答案 1 :(得分:0)

使用以下正则表达式:

String parts = s.trim().split("\\s+");

parts的输出:

  

[星期一,星期二,星期三,8:00,8:15,8:30,8:45,9:00,...]

现在,上面将允许标签和其他空格字符。要消除它们,你可以这样做:

String parts = s.trim().split(" +");