一、String类一般字符串

  • 声明字符串

>>String str

  • 创建字符串

>>String(char a[])方法用于将一个字符数组创建为String对象

>>String(char a[],int offset,int length)方法用于提取字符数组a中的一部分创建一个字符串对象,参数offset表示开始截取字符串的位置,length表示截取字符串的长度

>>String(char a[] value)方法可用于分配一个新的String对象,使其表示字符数组参数中所有对象连接的结果

  • 连接字符串

>>使用“+”运算符可以实现连接多个字符串的功能,也可以连接多个运算符并产生一个String对象

>>使用“+”运算符也可同其他基本数据类型进行连接,将其他数据类型转换为字符串

  • 获取字符串信息

>>使用String类的length()方法可获取声明的字符串对象的长度

  • 字符串查找

>>indexOf(String s)方法用于返回参数字符串s在指定字符串中首次出现的索引位置。当执行该方法时会从字符串开始位置搜索s的位置,如果没有检索到字符串s,该方法的返回值是-1

>>lastIndexOf(String str)方法用于返回指定字符串最后一次出现的索引位置,调用过程与indexOf()相同

  • 获取指定索引位置的字符

>>charAt(int index)方法可将指定索引位置的字符返回

  • 获取子字符串

>>substring(int beginIndex)方法用于获取从指定索引位置开始截取到该字符串结尾的子串

>>substring(int beginIndex,int endIndex)方法用于获取从指定位置开始截取至某一索引位置结束的子串

  • 去除空格

>>trim()方法返回字符串的副本,忽略前导空格和尾部空格

  • 字符串替换

>>replace(char oldChar,char newChar)方法可将指定的字符或字符串替换成新的字符或字符串,如果没有目标字符串,则返回原字符串

  • 判断字符串的开始与结尾

>>startsWith(String prefix)方法与endsWith(String suffix)方法用于判断字符串是否以指定的内容开始或结束,返回值都为boolean类型

  • 判断字符串是否相等

>>“==”用于比较两个字符串的地址是否相同,即使内容长度完全一致,两个字符串的地址也可能不同

>>equals(String otherstr)方法用于比较两个字符串的内容和长度,完全相同时返回true

>>equalsIgnoreCase(String otherstr)方法用于比较两个忽略大小写的字符串的内容和长度,完全相同时返回true

  • 按字典顺序比较两个字符串

>>compareTo(String otherstr)方法会按照字典顺序比较两个字符串。从两个字符串的第一位开始比较,如果两个字符串第一位的字符相同,则继续向后比较,直至出现不同的字符为止。若比较到最后一位都相同(即equals(object)方法返回值为true),则结果为0;若不同,该String对象位于参数字符串之前,则比较结果为一个负整数,反之则为一个正整数

  • 字母大小转换

>>toLowerCase()方法用于将字符串转换为小写

>>toUpperCase()方法用于将字符串转换为大写

  • 字符串分割

>>split(String sign)方法可以使字符串按指定的分割字符或字符串对内容进行分割,并将分割后的结果存放在字符串数组中

>>split(String sign,int limit)方法作用与上相同,但可以限定拆分次数

二、日期和时间字符串格式化

  • 日期格式化
常用的日期格式化转换符
转换符 说明 示例
%te 一个月中的某一天(1~31) 2
%tb 指定语言环境的月份简称 Feb(英文)、二月(中文)
%tB 指定语言环境的月份全程 February(英文)、二月(中文)
%tA 指定语言环境的星期几全称 Monday(英文)、星期一(中文)
%ta 指定语言环境的星期几简称 Mon(英文)、星期一(中文)
%tc 包括全部日期和时间信息 星期二 三月 25 13:37:22 CST 2008
%tY 4位年份 2008
%tj 一年中的第几天(001~366) 085
%tm 月份 03
%td 一个月中的第几天(01~31) 02
%ty 2位年份 08
  • 时间格式化
时间格式化转换符
转换符 说明 示例
%tH 2位数字的24时制的小时(00~23) 14
%tI 2位数字的12时制的小时(01~12) 05
%tk 2位数字的24时制的小时(0~23) 5
%tl 2位数字的12时制的小时(1~12) 10
%tM 2位数字的分钟(00~59) 05
%tS 2位数字的秒数(00~60) 12
%tL 3位数字的毫秒数(000~999) 920
%tN 9位数字的微妙数(000000000~999999999) 062000000
%tp 指定语言环境的上午或下午标记 下午(中文)、pm(英文)
%tz 相对于GMT RFC 82 格式的数字时区偏移量 +0800
%tZ 时区缩写形式的字符串 CST
%ts 1970-01-01 00:00:00 至现在经过的秒数 1206426646
%tQ 1970-01-01 00:00:00 至现在经过的毫秒数 1206412131231
  • 格式化常见的日期时间组合
常见的日期和时间组合的格式
转换符 说明 示例
%tF “年-月-日”格式(4位年份) 2008-03-25
%tD “月/日/年”格式(2位年份) 03/25/08
%tc 全部日期和时间信息 星期二 三月 25 15:20:00 CST 2008
%tr “时:分:秒 PM(AM)”格式(12时制) 03:22:06 下午
%tT “时:分:秒”格式(24时制) 15:23:50
%tR “时:分”格式(24时制) 15:25

三、常规类型格式化

常规转换符
转换符 说明 示例
%b、%B 结果被格式化为布尔类型 true
%h、%H 结果被格式化为散步码 A05A5198
%s、%S 结果被格式化为字符串类型 "abcd"
%c、%C 结果被格式化为字符类型 'a'
%d 结果被格式化为十进制整数 40
%o 结果被格式化为八进制整数 11
%x、%X 结果被格式化为十六进制整数 4b1
%e 结果被格式化为用计算机科学计数法表示的十进制数 1.700000e+01
%a 结果被格式化为带有效位数和指数的十六进制浮点值 0X1.C000000000001P4
%n 结果为特于与平台的行分隔符  
%% 结果为字面值% %

四、正则表达式

>>正则表达式通常被用于判断语句是否满足某一格式。正则表达式是含有一些具有特殊意义字符的字符串,这些特殊字符统称为正则表达式的元字符

正则表达式中的元字符
元字符 正则表达式中的写法 意义
. . 代表任意一个字符
\d \\d 代表0~9的任何一个数字
\D \\D 代表任何一个非数字字符
\s \\s 代表空白字符,如'\t'、'\n'
\S \\S 代表非空白字符
\w \\w 代表可用作标识符的字符,但不包括“$”
\W \\W 代表不可用作标识符的字符
\p{Lower} \\p{Lower} 代表小写字母a~z
\p{Upper} \\p{Upper} 代表大写字母A~Z
\p{ASCII} \\p{ASCII} ASCII字符
\P{Alpha} \\P{Alpha} 字母字符
\p{Digit} \\p{Digit} 十进制数字,即0~9
\p{Alnum} \\p{Alnum} 数字或字母字符
\p{Punct} \\p{Punct} 标点符号:!"#$%&'()*+,-;:<=>?@[\]^_`{|}~
\p{Graph} \\p{Graph} 可见字符:[\p{Alnum}\p{Punct}]
\p{Print} \\p{Print} 可打印字符:[\p{Graph}\x20]
\p{Blank} \\p{Blank} 空格或制表符:[\t]
\p{Cntrl} \\p{Cntrl} 控制字符:[\x00-\x1F\x7F]

>>限定修饰符用于限定正则表达式中元字符出现的次数

限定修饰符
限定修饰符 意义 示例
? 0次或1次 A?
* 0次或多次 A*
+ 1次或多次 A+
{n} 正好出现n次 A{2}
{n,} 至少出现n次 A{3,}
{n,m} 出现n~m次 A{2,6}

>>使用matches(String regex)方法来进行正则表达式匹配

五、StringBuilder类

>String类创建的对象,其长度是固定的,内容不能被改变和编译,虽然使用“+”可以达到附加新字符或字符串的目的,但“+”会产生一个新的String实例,在内存中创建新的字符串对象。为解决这个问题,系统引入了可变的字符序列StringBuilder类,大大提高了频繁增加字符串的效率

>>append(content)方法用于向字符串生成器中追加内容,可实现接受任何类型的数据

>>insert(int offset arg)方法用于向字符串生成器指定位置插入数据内容

>>delete(int start,int end)方法用于移除指定位置开始到某一位置结束的字符串

Java学习笔记 02 String类、StringBuilder类、字符串格式化和正则表达式的更多相关文章

  1. 【C#学习笔记】string.Format对C#字符串格式化

    文章转自:CSDN   http://blog.csdn.net/samsone/article/details/7556781 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格 ...

  2. Java学习笔记(5)--- Number类和Math 类,String类的应用,Java数组入门

    1.Number 和 Math 类: 在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型(int,double,float这些)的情形. 这种由编译器特别支持的包装称为装箱,所以当内置数 ...

  3. 3.2常用类(java学习笔记)String与StringBuffer

    一.String String又称不可变字符序列. 我们看JDK源码中用于字符存储的数组有final修饰,final修饰变量就代表变量不能改变. 我们可以看API文档中对String的描述. Stri ...

  4. JavaSE 学习笔记02丨对象与类

    Chapter 4. 对象与类 4.1 面向对象程序设计概述 面向对象程序设计(简称OOP),是当今主流程序设计范型.面向对象的程序是由对象组成的,每个对象(来自于标准库或自定义的)包含对用户公开的特 ...

  5. 3.1常用类(java学习笔记)包装类及日期类

    一.包装类 java是一门面向对象的语言,秉承一切皆对象的思想. 可java中有一些基本数据类型并不是对象,有时可能需要将它们变为对象. 这时就需要用到我们的包装类了. 基本数据类型 包装类 int ...

  6. 疯狂java学习笔记之面向对象(一) - 定义类、方法、构造器

    Java面向对象 1.定义类 2.创建对象.调用方法 类和对象: 某一类对象的概念定义. 比如:人类 - 抽象出来的概念(不特指某个人) 对象 - 在类的概念下产生的一个实例,它就是一个对象了. ja ...

  7. java学习笔记(三):类和对象

     创建对象 构造器 每一个类都有一个构造器. 如果我们不单独为一个类编写构造器那么 Java 的编译器将会给这个类建立一个默认的构造器. 每当一个新的对象被创建,至少一个构造器将会被调用. 构造器的一 ...

  8. 【8-20】java学习笔记02

    others 初始化块在构造器前执行: 静态初始化块和实例变量显示初始化执行顺序为各自定义的位置: final类不能派生子类,final方法不可覆盖,final变量不可重新赋值: 判定值相等,Stri ...

  9. Java开发笔记(三十五)字符串格式化

    前面介绍了字符串变量的四种赋值方式,对于简单的赋值来说完全够用了,即便是两个字符串拼接,也只需通过加号把两个目标串连起来即可.但对于复杂的赋值来说就麻烦了,假设现在需要拼接一个很长的字符串,字符串内部 ...

随机推荐

  1. 几个opencv 的iOS的编译问题解决

    一个iOS项目需要用到opencv,而且要支持arm64的,以前有个demo的,只支持32位的.到官网下载了最新支持64位库,结果编译无法通过. google了好久也没法解决,后来问了一个同事,找出原 ...

  2. 对于那本--你必须知道的499个C语言问题--总结

    (1)1.3 (2)1.10没看懂 (3)1.11和1.12都讲到了   静态变量和局部变量,那么这两个是啥啊,我不懂: (4)1.13针对那两个字符串定义为啥有问题,不懂 (5)2.8是做什么的 ( ...

  3. eclipse中outline中图标的含义

    outline: 实心的代表方法 空心的代表属性 绿色的圆表示公有public 黄色的菱形表示保护protect 红色的方形表示私有private 蓝色的三角表示default 图形后加字母S代表该属 ...

  4. ef 对象无法序列化的问题(System.Data.Entity.DynamicProxies)

    错误提示: System.InvalidOperationException: 生成 XML 文档时出错. ---> System.InvalidOperationException: 不应是类 ...

  5. java--UDP屏幕广播代码

    1.发送端的代码 这里广播的地址只写了一个 package com.udp.broadcast; import java.awt.Robot; import java.awt.image.Buffer ...

  6. Spring MVC @Transactional注解方式事务失效的解决办法

    在springMVC类上绑定@Transactional的注解,但是访问数据库时,总是报 can't localtion to current JTA Transactional. 后来发现sprin ...

  7. 集合框架之——迭代器并发修改异常ConcurrentModificationException

    问题: 我有一个集合,如下,请问,我想判断里面有没有"world"这个元素,如果有,我就添加一个"javaee"元素,请写代码实现. 使用普通迭代器出现的异常: ...

  8. hdu 1387(Team Queue) STL

    Team Queue Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  9. JS实现动态提示文本框可输入剩余字数(类似发表微博数字提示)

    一.实现效果: 为了更直观的体现用户在文本框输入文本时能看到自己输入了多少字,项目中需要通过判断提示文本框剩余可输入字数. html & JS: <div> <textare ...

  10. javascript:history.go()和History.back()的区别

    http://www.mikebai.com/Article/2009-11/757.html