`

Java 常用字符操作

    博客分类:
  • Java
阅读更多

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 字符串常用操作类

    java 字符串所有常用操作类,包括 各种数值类型的互转 格式化等

    java常用代码

    工程简单的介绍了java常用类,并用这些类进行一些简单的操作 让初学者更好的了解java这门语言的特性。 1.StringAndInt.java 字符与整型的相互转换 2.WriteFile.java 简单的IO读写文件 3.CurrentMethod.java 获取当前...

    java 字符串操作类

    包括常用的分隔,插入,判空,判非空,去空格等20多种方法。方便实用、 JAVA自定义Util大放送-集成j2ee精英团队十年编程之精华

    java中字符串操作方法整理

    详细介绍了java语言中常用的字符串的基本操作。

    String 字符串操作、比较、查找字符、替换、反转、分割等

    java字符串操作常用实例,String 字符串操作、比较、查找字符、替换、反转、分割等

    java常用工具大全

    提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...

    Java常用工具类大全

    提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...

    Java字符串工具类

    Java常用的字符串操作工具 字符串转为整型,如转换出异常将返回0 补充字符系列 -1:左补充; 1:右补充

    JAVA 文件常用流操作.zip

    JAVA 文件常用流操作 包括文件的创建,重命名,删除等等。字节流,字符流,缓存流,数据流,打印流,内存流等等

    整理Java编程中字符串的常用操作方法

    主要介绍了Java编程中字符串的常用操作方法的整理,字符串处理是Java入门学习中的基础知识,需要的朋友可以参考下

    Java常用字符串方法小结

    字符串变量是Java与C语言的一大不同之处。Java之中的 String 类和 Stringbuffer 类提供了大量的对字符串操作的方法。String 类适合处理较小的字符串,而Stringbuffer类适合处理大量字符串

    java基础类库开发包,工作5年精心整理_Java常用工具类源码

    工作5年精心整理_Java常用工具类源码 收集了java项目开中常用的工具操作类,方法非常全,可应用在大部份java 项目中。 提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档...

    java 常用工具源码

    java 常用工具源码,多年工作积累,源码分享。...工作中多年积累常用工具,log封装,日期类,多线程操作,字符串处理,邮件发送,http工具类,页面处理,汉字拼音,ftp ,md5, secret,ValidatorStringEx,Xml类。

    Java 常用API的运用,效率及技巧

    Java 常用API的运用,效率及技巧 Java...4. 数值,字符,布尔对象与简单类型的操作 5. Class, ClassLoader 6. Java IO系统 7. Java集合类 8. ResourceBundle, Properties 9. Exceptions 10. JDBC类库 11. 常用设计模式

    字符串-Java解题分析-学习资料.zip

    字符串基础:详细介绍了Java中字符串的创建、拼接、比较、搜索等基本操作,以及常用的字符串类和API。 算法解析:深入解析了常见的字符串算法问题,如最长公共子串、字符串排序、子串查找等,并提供了解题思路和代码...

    Java常用工具类大全,工作5年精心整理(最新版)

    提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...

    java常见操作jar库.zip

    java常用操作工具类封装,包括文件操作,xls,xlsx,pdf,txt文件的解析和生成,字符操作,集合操作,压缩包操作,...,内附api

    java字符串常用操作方法(查找、截取、分割)

    今天小编就为大家分享一篇java字符串常用操作方法(查找、截取、分割),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    java开发常用jar包

    通过java操作excel表格的工具类库 jta-1.1.jar Java事务API,为J2EE平台提供了分布式事务服务 lucene-core.jar 、lucene-highlighter.jar 、compass-index-patch.jar、 compass-2.1.0.jar 是一个全文检索引擎的...

Global site tag (gtag.js) - Google Analytics