Java里如何判断一个String是含有空格或空字符串

1,判断读入的String是否为空字符串
要判读String是否为空字符串,比较简单,只要判断该String的length是否为0就可以,或者直接用方法isEmpty() 来判断。
但很多时候我们也会把由一些不可见的字符组成的String也当成是空字符串(e.g, space, tab, etc),这时候就不能单用length或isEmpty() 来判断了,因为technically上来说,这个String是非空的。这时候可以用String的方法trim(),去掉前导空白和后导空白,再判断是否为空。

public class TestEmpty{
	public static void main(String[] args){
		String a = "       ";      
		// if (a.isEmpty())
		if (a.trim().isEmpty())
	        	System.out.println("It is empty");
        	else
			System.out.println("It is not empty");
	}
}
结果:It is empty
 2,如何读入字符串中的空串

Scanner scan = new Scanner(System.in);
String name = scan.next(); //I want input my name: thomas lee. But there is an empty char in this string. It will give an error.
String company = scan.nextLine();  //This form will be right if we inut an string that includes empty characteristics.
System.out.print(name+" : "+company);
next() 方法一定要读取到有效的字符后才结束输入,对输入有效字符前遇到的space空格键、Tab键、Enter键等,next() 会默认将其后边的字符串去掉。只有在输入有效字符之后,next() 方法才将其后的空格键,Tab键,Enter等视为分隔符或者结束符。
nextline() 方法的结束符是enter键,即返回的是enter键之前的所有字符。
比如控制台输入: hello java
next() 读出来的是hello
nextline() 是hello java

Scanner类是控制台接受一个字符串: 
1.默认用空白字符作为分隔符,键盘上的回车键表示一次输入结束,如果输入一行数据,比如:yhdfweu wsegdyh iuyuiehw 如果不按enter键的话,会一直死在while(sc.hasNext()); 按下了enter键,会依次读入这几个数据。 
2.nextLine() 和next() 的区别,next() 以空白字符作为界限读入数据,而nextLine() 是以行为单位读数据,如果录入“dhdf euhw”这样的一个数据,如果nextLine() 会读入一行,就会正确读出,而next() 会将其分成2个数据读入。 
3.如何读入空字符串,即“”;如果连续按2次enter键,表示2个enter键之间的是空字符串。由于是以空格为分隔符。而这种情况会直接被扫描器忽略。可以通过
Scanner sc = new Scanner(System.in).useDelimiter(System.getProperty("line.separator"));
来设置分隔符为“\r\n”(windows)。那么2个回车之间,即是2个分隔符之间,即为一个数据。

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值