标签:qq java String 逗号 add split str com
正则表达式可用于解析,判断字符串格式内容。
demo里有两个例子,第一个例子时解析一个长字符串,其中包括多个字段,有字符串类型和整型,可以根据正则表达式去按逗号分割,且不会把字符串类型字段中的 逗号计入,适用于摘要这种字段。
第二个例子是邮箱格式的验证,可以简单了解正则表达式的使用。
代码如下:
@Test public void regularExp() { // 正则表达式学习 // 1、逗号分割时不计入字符串字段内的逗号,如摘要中的逗号 String line = "\"缴纳投标保障金,需用惠州公司基本账户,汇款时需注明汇款用途为“E19138的磋商保证金,银行开具的汇款单盖章原件由磋商供应商留存,作为保证金收取依据”\" ,DN02,\"公诚管理咨询有限公司\""; List<String> colsValue = Arrays.asList(line.split(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)", -1)); for (int x = 0; x < colsValue.size(); x++) { System.out.println(colsValue.get(x)); } System.out.println("===以上为逗号分割==="); System.out.println("\n");
// 2、判断Email地址是否合法 String email1 = "1486991950@qq.com"; String email2 = "@qq.com"; String email3 = "234af--j@qq.com"; String email4 = "2344@q44.com"; String email5 = "235435.com"; String email6 = "124345324@.com"; String rule = "^\\w+([-+.]\\w+)*@\\w+([.]com)*$"; /** * 按表达式排列顺序简单解释下: * ^ 开始匹配 * ^\ 和 $ 分别指字符串的开始与结束 ,+ 号代表前面的字符必须至少出现一次(1次或多次)。 * \w 表示匹配字母、数字、下划线。等价于 [A-Za-z0-9_] ,这里有两个\\是因为idea粘贴字符串会自动转义 * ([-+.]\w+) 意思是-+. 这三个字符参加匹配(但是只能有一位字符,++这样是不行的),其字符后再加上数字若干 * ([-+.]\w+)* 多了个*,表示[]* 所代表的内容出现次数不固定,为 ≥0 次 * @\w+([.]com)* 原理同上: @qq3.com * $ 结束匹配 */ List<String> str = new ArrayList<>(); str.add(email1); str.add(email2); str.add(email3); str.add(email4); str.add(email5); str.add(email6); Pattern pattern; Matcher matcher; for(int i = 0; i<str.size(); i++) { pattern = Pattern.compile(rule); matcher = pattern.matcher(str.get(i)); if (matcher.matches()) System.out.println(str.get(i) + " 合法"); else System.out.println(str.get(i) + " 不合法"); } System.out.println("===以上为email分割==="); System.out.println("\n"); }
输出如下:
"缴纳投标保障金,需用惠州公司基本账户,汇款时需注明汇款用途为“E19138的磋商保证金,银行开具的汇款单盖章原件由磋商供应商留存,作为保证金收取依据”" DN02 "公诚管理咨询有限公司" ===以上为逗号分割=== 1486991950@qq.com 合法 @qq.com 不合法 234af--j@qq.com 不合法 2344@q44.com 合法 124345324@.com 不合法 235435.com 不合法 ===以上为email分割===
标签:qq,java,String,逗号,add,split,str,com 来源: https://www.cnblogs.com/dabuliu/p/15944828.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。