Java 检测字符串中的空格

Java 检测字符串中的空格,java,string,space,Java,String,Space,如何确定用户输入的输入中是否有空格?用户的输入以字符串形式存储。我指的部分在星号之间。我读到可以使用regex,但我不知道如何使用它来检测字符串s中是否有空格 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class LAnalyze{ public static void main(String[] args) { int j =

如何确定用户输入的输入中是否有空格?用户的输入以字符串形式存储。我指的部分在星号之间。我读到可以使用regex,但我不知道如何使用它来检测字符串s中是否有空格

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class LAnalyze{

public static void main(String[] args) {

    int j = 0;
    String s = null;
    Scanner scan = new Scanner(System.in);


    System.out.println("Enter an input:  ");
    s = scan.nextLine();

    ****************************************************
              Pattern pattern = Pattern.compile("\\s");
    Matcher matcher = pattern.matcher(s);
    boolean found = matcher.find(); 

    if(spaceIsFound)
             *******************************************************
    {
        System.out.println("Invalid character(s) entered.. Program terminated!\n");
        System.exit(0);
    }
    else if( s.charAt(0)=='a'||s.charAt(0)=='b'||s.charAt(0)=='c'||s.charAt(0)=='d'||s.charAt(0)=='e'||s.charAt(0)=='f'||
            s.charAt(0)=='g'||s.charAt(0)=='h'||s.charAt(0)=='i'||s.charAt(0)=='j'||s.charAt(0)=='k'||s.charAt(0)=='l'||
            s.charAt(0)=='m'||s.charAt(0)=='n'||s.charAt(0)=='o'||s.charAt(0)=='p'||s.charAt(0)=='q'||s.charAt(0)=='r'||
            s.charAt(0)=='s'||s.charAt(0)=='t'||s.charAt(0)=='u'||s.charAt(0)=='v'||s.charAt(0)=='w'||s.charAt(0)=='x'||
            s.charAt(0)=='y'||s.charAt(0)=='z'||s.charAt(0)=='A'||s.charAt(0)=='B'||s.charAt(0)=='C'||s.charAt(0)=='D'||
            s.charAt(0)=='E'||s.charAt(0)=='F'||s.charAt(0)=='G'||s.charAt(0)=='H'||s.charAt(0)=='I'||s.charAt(0)=='J'||
            s.charAt(0)=='K'||s.charAt(0)=='L'||s.charAt(0)=='M'||s.charAt(0)=='N'||s.charAt(0)=='O'||s.charAt(0)=='P'||
            s.charAt(0)=='Q'||s.charAt(0)=='R'||s.charAt(0)=='S'||s.charAt(0)=='T'||s.charAt(0)=='U'||s.charAt(0)=='V'||
            s.charAt(0)=='W'||s.charAt(0)=='X'||s.charAt(0)=='Y'||s.charAt(0)=='Z') {

        System.out.print( (s) + ": Identifier\n");
        for (int k = 0; k < s.length(); k++) {  
            j++;
            System.out.println("Token " + (j) + " = " + (s.charAt(k)));

        }
    }
    else if(s.charAt(0)=='0'||s.charAt(0)=='1'||s.charAt(0)=='2'||s.charAt(0)=='3'||s.charAt(0)=='4'||s.charAt(0)=='5'||
            s.charAt(0)=='6'||s.charAt(0)=='7'||s.charAt(0)=='8'||s.charAt(0)=='9') {

        System.out.print( (s) + ": Unsigned Integer\n");
        for (int m = 0; m < s.length(); m++) {  
            j++;
            System.out.println("Token " + (j) + " = " + (s.charAt(m)));
        }
    }   
    else {
        System.out.println("Invalid character(s) entered.. Program terminated!\n");
        System.exit(0);
    }

}
import java.util.Scanner;
导入java.util.regex.Matcher;
导入java.util.regex.Pattern;
公共类LAnalyze{
公共静态void main(字符串[]args){
int j=0;
字符串s=null;
扫描仪扫描=新扫描仪(System.in);
System.out.println(“输入:”);
s=scan.nextLine();
****************************************************
Pattern=Pattern.compile(“\\s”);
匹配器匹配器=模式匹配器;
boolean found=matcher.find();
if(spaceIsFound)
*******************************************************
{
System.out.println(“输入无效字符..程序终止!\n”);
系统出口(0);
}
如果(s.charAt(0)='a'| s.charAt(0)='b'| s.charAt(0)='c'| s.charAt(0)='d'| s.charAt(0)='e'| s.charAt(0)='f'||
s、 charAt(0)='g'| s.charAt(0)='h'| s.charAt(0)='i'| s.charAt(0)='j'| s.charAt(0)='k'| s.charAt(0)='l'||
s、 字符(0)='m'| s.charAt(0)='n'| s.charAt(0)='o'| s.charAt(0)='p'| s.charAt(0)='q'| s.charAt(0)='r'||
s、 字符(0)='s'| s.charAt(0)='t'| s.charAt(0)='u'| s.charAt(0)='v'| s.charAt(0)='w'| s.charAt(0)='x'||
s、 charAt(0)='y'| s.charAt(0)='z'| s.charAt(0)='A'| s.charAt(0)='B'| s.charAt(0)='C'| s.charAt(0)='D'||
s、 字符(0)='E'| s.charAt(0)='F'| s.charAt(0)='G'| s.charAt(0)='H'| s.charAt(0)='I'| s.charAt(0)='J'||
s、 查拉特(0)='K'| s.查拉特(0)='L'| s.查拉特(0)='M'| s.查拉特(0)='N'| s.查拉特(0)='O'| s.查拉特(0)='P'||
s、 charAt(0)='Q'| s.charAt(0)='R'| s.charAt(0)='s'| s.charAt(0)='T'| s.charAt(0)='U'| s.charAt(0)='V'||
s、 字符(0)='W'| s.charAt(0)='X'| s.charAt(0)='Y'| s.charAt(0)='Z'){
系统输出打印((s)+“:标识符\n”);
对于(int k=0;k
}您可以使用s.indexOf(“”); 如果返回-1,则字符串不包含空格

此外,您还可以使用 开关(s.charAt(0)){ 案例“a”: 案例“b”: ... 打破 案例“c”: ... }

代替多重if

您可以使用s.indexOf(“”); 如果返回-1,则字符串不包含空格

此外,您还可以使用 开关(s.charAt(0)){ 案例“a”: 案例“b”: ... 打破 案例“c”: ... }


代替多重if

您不需要使用正则表达式来检查字符串是否包含空格。改为使用。

您不需要使用正则表达式来检查字符串是否包含空格。使用。

提示:字符可以解释为数字,因此运算符
可以像
if((s.charAt(0)>='a'&s.charAt(0)='a'&s.charAt(0)='a'&s.charAt(0)一样与它们一起使用您是否需要测试用户是否只输入了空格作为输入,或者您希望删除用户输入左右的所有空格?提示:字符可以解释为数字,因此运算符
可以像
if((s.charAt(0)>='a'&&s.charAt(0)='a'&&s.charAt(0)='a'&&s.charAt(0)一样与它们一起使用您需要测试用户是否只输入了空格作为输入,还是要删除用户输入左右的所有空格?谢谢,这让我很头疼。@user1781192如果解决了您的问题,请单击复选标记。这就是SO的“谢谢”机制:-)谢谢,这让我很头疼。@user1781192请记住,如果它解决了您的问题,请单击复选标记。这就是SO的“谢谢”机制:-)