java 检核字符串必须输入英文数字和符号

/**
	 * Purpose:必须输入英文数字和符号
	 * @author Hermanwang
	 * @param str : 要檢核的字符串
	 * @return Boolean : 檢核結果
	 */
	public static boolean inputCharacter(String str) {
		int letter = 0;
		int number = 0;
		int character = 0;
		int space = 0;
		String letterStr = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
		String numberStr = "0123456789";
		String characterStr = "~!@#$%^&*()_+`-=/*\\':'\"\'<>,.?/";
		String spaceStr = " ";
		for (int i = 0; i < str.length(); i++) {
			String temp = str.substring(i, i+1);
			if (letterStr.indexOf(temp) >= 0) {
				letter++;
			} else if (numberStr.indexOf(temp) >= 0) {
				number++;
			} else if (characterStr.indexOf(temp) >= 0) {
				character++;
			} else if (spaceStr.indexOf(temp) >= 0){
				space++;
			} else {
				space++;
			}
		}
		if (letter > 0 && number > 0 && character > 0 && space == 0) {
			return true;
		} else {
			return false;
		}
	}
Java中处理输入字符串中的特殊字符,通常意味着需要对这些特殊字符进行过滤、替换或删除等操作。这可以通过以下几种方法实现: 1. 使用正则表达式匹配并替换:可以利用`String`类的`replaceAll`方法,结合正则表达式来匹配特定的特殊字符,并将其替换为其他字符或者直接删除。 例如,要移除字符串中的所有非字母数字字符,可以使用如下代码: ```java String input = "Hello, World! @2023"; String processed = input.replaceAll("[^a-zA-Z0-9]", ""); System.out.println(processed); // 输出: HelloWorld2023 ``` 2. 使用字符数组过滤:通过遍历字符串中的每个字符,并检查它是否属于特殊字符集合,如果属于则不包括在最终结果中,否则将其加入结果字符串。 例如,过滤掉所有的空格、标点符号: ```java String input = "Hello, World! 2023"; StringBuilder result = new StringBuilder(); for (char c : input.toCharArray()) { if (!Character.isWhitespace(c) && !Character.isPunctuation(c)) { result.append(c); } } System.out.println(result.toString()); // 输出: HelloWorld2023 ``` 3. 使用Apache Commons Lang库:该库提供了更为丰富的字符串处理工具,例如`StringUtils`类中的`deleteWhitespace`方法可以删除字符串中的所有空格。 例如,使用Apache Commons Lang删除字符串中的空格: ```java // 首先需要引入Apache Commons Lang库的依赖 String input = "Hello, World! 2023"; String processed = StringUtils.deleteWhitespace(input); System.out.println(processed); // 输出: HelloWorld2023 ``` 在处理特殊字符时,选择哪种方法取决于具体的应用场景和需求。有时候需要保留特定的特殊字符,这时候就需要更精细的控制,比如单独对每种特殊字符进行判断和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值