java 中常用的字符串操作
1,判断字符是否是普通字符(a-z,A-Z,0-9,下划线_,英文句点.)
必须是英文大小写,数字,下划线,英文句号
/*** * 是否是普通字符(a-z,A-Z,0-9,下划线_,英文句点.) * @param c * @return */ public static boolean isWordChar(char c){ int number22=(int)c; if((number22>=97/*a*/ && number22<=122/*z*/) ||(number22>=65/*A*/ && number22<=90/*Z*/) ||(number22>=48/*0*/ && number22<=57/*9*/) ||number22==95/*下划线*/ ||number22==46/*英文的句点.*/){ // System.out.println("is word"); return true; }else{ return false; } }
测试:
@Test public void tst2(){ char c='_'; System.out.println(isWordChar(c)); Assert.assertEquals(true, isWordChar(c)); c=','; Assert.assertEquals(false, isWordChar(c)); c='a'; Assert.assertEquals(true, isWordChar(c)); c='z'; Assert.assertEquals(true, isWordChar(c)); c='A'; Assert.assertEquals(true, isWordChar(c)); c='Z'; Assert.assertEquals(true, isWordChar(c)); c='0'; Assert.assertEquals(true, isWordChar(c)); c='9'; Assert.assertEquals(true, isWordChar(c)); c=' '; Assert.assertEquals(false, isWordChar(c)); c='.'; Assert.assertEquals(true, isWordChar(c)); }
2,判断字符串是否是普通字符
必须以字母开头,可以包含(a-z,A-Z,0-9,下划线_,英文句点.),但是不能以句点结尾,不能连续两个句点
/*** * 必须以字母开头,可以包含(a-z,A-Z,0-9,下划线_,英文句点.),但是不能以句点结尾,不能连续两个句点 * @param input * @return */ public static boolean isWord(String input){ char c=input.charAt(0); if(!isWordChar(c)){ System.out.println("不是单词"); return false; } int number22=(int)c; if((number22>=48/*0*/ && number22<=57/*9*/) ||number22==95/*下划线*/||number22==46/*英文的句点.*/){ return false; } int length22=input.length(); int lastChar =(int)input.charAt(length22-1);//最后一个char if(lastChar==46/*英文的句点.*/){ return false; } for(int j=1;j<length22;j++){ if(!isWordChar(input.charAt(j))){ return false; } } //不能有连续两个英文句点 if(SystemHWUtil.findStr3(input, SystemHWUtil.ENGLISH_PERIOD+SystemHWUtil.ENGLISH_PERIOD)>0){ System.out.println("不能有连续两个英文句点"); return false; } return true; }
测试:
@Test public void tetst2(){ String input="abc,"; System.out.println(isWord(input)); Assert.assertEquals(false, isWord(input)); input="abc.a"; Assert.assertEquals(true, isWord(input)); input="1abc,"; Assert.assertEquals(false, isWord(input)); input="a111bc,"; Assert.assertEquals(false, isWord(input)); input="ab.a.c"; Assert.assertEquals(true, isWord(input)); input="ab..c"; Assert.assertEquals(false, isWord(input)); }
3,判断是否是空字符
空字符包括:(空格,Tab,换行,回车)
/*** * 是否是空格(空格,Tab) * @param c * @return */ public static boolean isBlank(char c) { int number22 = (int) c; // System.out.println(number22); if(number22==32/*空格*/||number22==9/*Tab*/ ||number22==10/*\n*/||number22==13/*\r*/){ return true; } return false; }
测试:
@Test public void test444(){ char c='\n'; System.out.println((int)c); System.out.println(OAUtil.isBlank(c)); Assert.assertEquals(true, OAUtil.isBlank(c)); c = '.'; Assert.assertEquals(false, OAUtil.isBlank(c)); c = ' '; Assert.assertEquals(true, OAUtil.isBlank(c)); c = ' '/*Tab*/; Assert.assertEquals(true, OAUtil.isBlank(c)); }
4,搜索字符串,若找到,则返回当时的索引,否则返回-1
/*** * 当发现keyWord的时候读到的index,<br>如果没有发现,则始终返回-1 * @param srcText * @param keyWord * @param pos * @return */ public static int findReadLength(String srcText, String keyWord, int pos) { int i, j/*, k = 0*/; i = pos; j = 0; while (i < srcText.length() && j < keyWord.length()) { if (srcText.charAt(i) == keyWord.charAt(j)) { ++i; ++j; if (j == keyWord.length()) { return i; } } else { i = i - j + 1; j = 0; } } return SystemHWUtil.NEGATIVE_ONE; }
测试:
@Test public void test_findReadLength(){ String srcText="abc"; System.out.println(SystemHWUtil.findReadLength(srcText, "abc", 0)); Assert.assertEquals(3, SystemHWUtil.findReadLength(srcText, "abc", 0)); srcText=" abc"; Assert.assertEquals(4, SystemHWUtil.findReadLength(srcText, "abc", 0)); srcText=" abcabc"; Assert.assertEquals(4, SystemHWUtil.findReadLength(srcText, "abc", 0)); srcText=" ab c"; Assert.assertEquals(-1, SystemHWUtil.findReadLength(srcText, "abc", 0)); srcText="aababbabc"; Assert.assertEquals(9, SystemHWUtil.findReadLength(srcText, "abc", 0)); }
源代码见附件
相关推荐
java代码-使用java常用字符串操作总结的源代码 ——学习参考资料:仅用于个人学习使用!
java 字符串所有常用操作类,包括 各种数值类型的互转 格式化等
工程简单的介绍了java常用类,并用这些类进行一些简单的操作 让初学者更好的了解java这门语言的特性。 1.StringAndInt.java 字符与整型的相互转换 2.WriteFile.java 简单的IO读写文件 3.CurrentMethod.java 获取当前...
包括常用的分隔,插入,判空,判非空,去空格等20多种方法。方便实用、 JAVA自定义Util大放送-集成j2ee精英团队十年编程之精华
详细介绍了java语言中常用的字符串的基本操作。
java字符串操作常用实例,String 字符串操作、比较、查找字符、替换、反转、分割等
提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...
提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...
Java常用的字符串操作工具 字符串转为整型,如转换出异常将返回0 补充字符系列 -1:左补充; 1:右补充
JAVA 文件常用流操作 包括文件的创建,重命名,删除等等。字节流,字符流,缓存流,数据流,打印流,内存流等等
主要介绍了Java编程中字符串的常用操作方法的整理,字符串处理是Java入门学习中的基础知识,需要的朋友可以参考下
字符串变量是Java与C语言的一大不同之处。Java之中的 String 类和 Stringbuffer 类提供了大量的对字符串操作的方法。String 类适合处理较小的字符串,而Stringbuffer类适合处理大量字符串
工作5年精心整理_Java常用工具类源码 收集了java项目开中常用的工具操作类,方法非常全,可应用在大部份java 项目中。 提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档...
java 常用工具源码,多年工作积累,源码分享。...工作中多年积累常用工具,log封装,日期类,多线程操作,字符串处理,邮件发送,http工具类,页面处理,汉字拼音,ftp ,md5, secret,ValidatorStringEx,Xml类。
Java 常用API的运用,效率及技巧 Java...4. 数值,字符,布尔对象与简单类型的操作 5. Class, ClassLoader 6. Java IO系统 7. Java集合类 8. ResourceBundle, Properties 9. Exceptions 10. JDBC类库 11. 常用设计模式
字符串基础:详细介绍了Java中字符串的创建、拼接、比较、搜索等基本操作,以及常用的字符串类和API。 算法解析:深入解析了常见的字符串算法问题,如最长公共子串、字符串排序、子串查找等,并提供了解题思路和代码...
提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...
java常用操作工具类封装,包括文件操作,xls,xlsx,pdf,txt文件的解析和生成,字符操作,集合操作,压缩包操作,...,内附api
今天小编就为大家分享一篇java字符串常用操作方法(查找、截取、分割),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
通过java操作excel表格的工具类库 jta-1.1.jar Java事务API,为J2EE平台提供了分布式事务服务 lucene-core.jar 、lucene-highlighter.jar 、compass-index-patch.jar、 compass-2.1.0.jar 是一个全文检索引擎的...