`

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中的字符串操作,包括创建、比较、拼接、查找与替换、分割以及格式化。 1. 创建字符串: Java中有两种方式创建字符串:通过`new`关键字或使用字符串字面量。 - 使用`new`关键字:`String str =...

    java常用字符串方法网络收集txt版

    本资料"java常用字符串方法网络收集txt版"很可能是对这些常用方法的集合整理,旨在帮助Java程序员快速查找和理解相关功能。 1. **创建与初始化字符串** - `new String()`: 构造一个新字符串,可以传入字符数组或另...

    Java 字符串常用方法

    以下是一些Java `String`类中常用的方法,这些方法对于理解和操作字符串至关重要。 1. **创建字符串** - `new String()`: 使用此构造函数创建一个新的字符串对象,可以传入字符数组或另一个字符串作为参数。 - `...

    java中字符串的操作汇总

    ### Java中字符串的操作汇总 在Java编程语言中,字符串(`String`)是极其重要的一个概念,被广泛...以上就是Java中字符串常用操作的详细介绍。通过掌握这些基本的方法,可以帮助开发者更高效地处理字符串相关的任务。

    java常用字符串方法,网络收集,txt版

    本资源"java常用字符串方法,网络收集,txt版"主要整理了Java中常用的字符串处理方法,这对于Java程序员来说是一份宝贵的参考资料。下面,我们将详细探讨这些方法,并结合实例进行讲解。 1. **创建字符串** - `...

    java 字符串操作类

    在Java编程语言中,字符串操作是日常开发中的重要部分,因为字符串处理无处不在,从数据解析到用户界面的交互。`StringUtil` 类是这样一个工具类,它集合了多种常用的字符串处理方法,以提高开发效率并减少代码重复...

    JAVA中汉字字符转化为英文字符

    此技术主要用于提取汉字的首字母或进行其他基于字符编码的操作。通过以下两个核心方法:`toTureAsciiStr` 和 `nuToTrueAsciiStr`,我们将探讨其实现原理及其应用场景。 #### 核心知识点详解 ##### 1. 字符编码基础...

    java 创建字符串类

    在Java编程语言中,字符串是极其重要且常用的数据类型,用于表示和操作文本。Java提供了两种主要的方式来创建字符串:通过`String`类的构造方法和使用`StringBuilder`或`StringBuffer`类。以下是对这些知识点的详细...

    java处理字符和字符串课件

    ### Java处理字符和字符串知识点详解 #### 一、概述 ...无论是简单的字符判断还是复杂的字符串操作,Java都提供了丰富的工具和支持。掌握这些基础知识对于提高编程效率和编写高质量的代码至关重要。

    java李兴华学习笔记之Java常用类库

    ### Java李兴华学习笔记之Java常用类库 #### 一、课程介绍及知识点概览 根据提供的资料,“Java李兴华学习笔记之Java常用类库”这份文档来源于北京MLDN软件实训中心的教学资料,主要涵盖了Java编程语言中常用类库...

    Java常用类及集合操作

    ### Java常用类及集合操作详解 #### 一、Java常用类概述 在Java编程语言中,内置了许多实用的类,这些类提供了丰富的功能,能够帮助开发者高效地完成各种任务。本节将详细介绍其中的一些关键类及其用法。 ##### ...

    实验5 JAVA常用类.doc

    实验5的Java常用类主要涵盖了Java编程中的一些核心概念和常用工具类的使用。以下是这些知识点的详细说明: 1. **String、StringBuffer(StringBuilder)**: - **String** 类在Java中是不可变的,这意味着一旦创建了...

    java字符串练习

    在Java编程语言中,字符串是极其重要且常用的数据类型,尤其对于初学者来说,理解和熟练掌握字符串的操作至关重要。本文将围绕“java字符串练习”这一主题,深入探讨如何解析字符串、逆序输出字符串以及处理特定格式...

    Java实现计算字符串表达式

    这篇博客“Java实现计算字符串表达式”可能讲解了如何利用Java来处理这种问题,虽然具体的实现细节没有提供,但我们可以基于一般的方法和常用的库来探讨这个主题。 首先,计算字符串表达式的基本步骤通常包括以下几...

    java 字符串 正则表达式 详细实例代码

    在Java编程语言中,字符串(String)是至关重要的数据类型,用于存储和操作文本。字符串类提供了丰富的API,使得处理字符串变得高效且灵活。本篇将深入探讨Java中的字符串、正则表达式及其在实际编程中的详细实例代码...

    JAVA中字符-字符串常用的方法.doc

    JAVA 中字符-字符串常用的方法 JAVA 中字符-字符串常用的方法是指在 Java 编程语言中处理字符和字符串的各种方法。这些方法主要来自 Character 类和 String 类,它们提供了对字符和字符串的各种操作,包括字符的...

    java 字符串常用操作类

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

    java中常用的字符串的截取方法

    在 Java 中,字符串截取是一种非常重要的操作,通过本文,我们可以了解到 Java 中常用的字符串截取方法,包括 length()、charAt()、getChars()、getBytes() 等等。这些方法可以帮助我们高效地操作字符串,解决实际...

Global site tag (gtag.js) - Google Analytics