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中的字符串操作,包括创建、比较、拼接、查找与替换、分割以及格式化。 1. 创建字符串: Java中有两种方式创建字符串:通过`new`关键字或使用字符串字面量。 - 使用`new`关键字:`String str =...
本资料"java常用字符串方法网络收集txt版"很可能是对这些常用方法的集合整理,旨在帮助Java程序员快速查找和理解相关功能。 1. **创建与初始化字符串** - `new String()`: 构造一个新字符串,可以传入字符数组或另...
以下是一些Java `String`类中常用的方法,这些方法对于理解和操作字符串至关重要。 1. **创建字符串** - `new String()`: 使用此构造函数创建一个新的字符串对象,可以传入字符数组或另一个字符串作为参数。 - `...
### Java中字符串的操作汇总 在Java编程语言中,字符串(`String`)是极其重要的一个概念,被广泛...以上就是Java中字符串常用操作的详细介绍。通过掌握这些基本的方法,可以帮助开发者更高效地处理字符串相关的任务。
本资源"java常用字符串方法,网络收集,txt版"主要整理了Java中常用的字符串处理方法,这对于Java程序员来说是一份宝贵的参考资料。下面,我们将详细探讨这些方法,并结合实例进行讲解。 1. **创建字符串** - `...
在Java编程语言中,字符串操作是日常开发中的重要部分,因为字符串处理无处不在,从数据解析到用户界面的交互。`StringUtil` 类是这样一个工具类,它集合了多种常用的字符串处理方法,以提高开发效率并减少代码重复...
此技术主要用于提取汉字的首字母或进行其他基于字符编码的操作。通过以下两个核心方法:`toTureAsciiStr` 和 `nuToTrueAsciiStr`,我们将探讨其实现原理及其应用场景。 #### 核心知识点详解 ##### 1. 字符编码基础...
在Java编程语言中,字符串是极其重要且常用的数据类型,用于表示和操作文本。Java提供了两种主要的方式来创建字符串:通过`String`类的构造方法和使用`StringBuilder`或`StringBuffer`类。以下是对这些知识点的详细...
### Java处理字符和字符串知识点详解 #### 一、概述 ...无论是简单的字符判断还是复杂的字符串操作,Java都提供了丰富的工具和支持。掌握这些基础知识对于提高编程效率和编写高质量的代码至关重要。
### Java李兴华学习笔记之Java常用类库 #### 一、课程介绍及知识点概览 根据提供的资料,“Java李兴华学习笔记之Java常用类库”这份文档来源于北京MLDN软件实训中心的教学资料,主要涵盖了Java编程语言中常用类库...
### Java常用类及集合操作详解 #### 一、Java常用类概述 在Java编程语言中,内置了许多实用的类,这些类提供了丰富的功能,能够帮助开发者高效地完成各种任务。本节将详细介绍其中的一些关键类及其用法。 ##### ...
实验5的Java常用类主要涵盖了Java编程中的一些核心概念和常用工具类的使用。以下是这些知识点的详细说明: 1. **String、StringBuffer(StringBuilder)**: - **String** 类在Java中是不可变的,这意味着一旦创建了...
在Java编程语言中,字符串是极其重要且常用的数据类型,尤其对于初学者来说,理解和熟练掌握字符串的操作至关重要。本文将围绕“java字符串练习”这一主题,深入探讨如何解析字符串、逆序输出字符串以及处理特定格式...
这篇博客“Java实现计算字符串表达式”可能讲解了如何利用Java来处理这种问题,虽然具体的实现细节没有提供,但我们可以基于一般的方法和常用的库来探讨这个主题。 首先,计算字符串表达式的基本步骤通常包括以下几...
在Java编程语言中,字符串(String)是至关重要的数据类型,用于存储和操作文本。字符串类提供了丰富的API,使得处理字符串变得高效且灵活。本篇将深入探讨Java中的字符串、正则表达式及其在实际编程中的详细实例代码...
JAVA 中字符-字符串常用的方法 JAVA 中字符-字符串常用的方法是指在 Java 编程语言中处理字符和字符串的各种方法。这些方法主要来自 Character 类和 String 类,它们提供了对字符和字符串的各种操作,包括字符的...
java 字符串所有常用操作类,包括 各种数值类型的互转 格式化等
在 Java 中,字符串截取是一种非常重要的操作,通过本文,我们可以了解到 Java 中常用的字符串截取方法,包括 length()、charAt()、getChars()、getBytes() 等等。这些方法可以帮助我们高效地操作字符串,解决实际...