最近工作中用到了大量有关字符串截取的知识,在此做出总结,希望需要的朋友带来帮助:
  可以复制粘贴代码直接在java中测试
1.将字符串中的指定字符":","-"删除:

public static void main(String[] args) {
String time="2015-12-06 19:04:08";
String formatedata=time.replaceAll(":", "");
String formatedata1=formatedata.replaceAll("-", "");
System.out.println(formatedata1);

//控制台输出:20151206 19040

2.截取字符串中指定的字符:

public static void main(String[] args) {
String time="2015-12-06 19:04:08";
//substring(3,time.indexOf("08")第一个参数3代表截取的开始位置(字符串从0开始),第二个参数是结束位置完全可以写为整数
String formatedata=time.substring(3,time.indexOf("08"));
System.out.println(formatedata);
}
//控制台输出:5-12-06 19:04:

3.验证字符串中是否含有某个字符:

public static void main(String[] args) {
String time="2015-12-06 19:04:08";
boolean is=time.contains("19");
System.out.println(is);
}
//控制台输出:true

4.查看字符串是否以某指定的字符串开头或结束:

public static void main(String[] args) {
String time="2015-12-06 19:04:08";
//字符串是否以"20"开头
boolean is=time.startsWith("20");
//字符串是否以"08"结束
boolean is1=time.endsWith("08");
System.out.println(is);
System.out.println(is1);
}
//控制台输出:true true

5.获取字符串的长度:

public static void main(String[] args) {
String time="2015-12-06 19:04:08";
int length=time.length();
System.out.println(length);
}
//控制台输出:19

6.截取一个字符:

public static void main(String[] args) {
String time="2015-12-06 19:04:08";
System.out.println(time.charAt(6));
}
//控制台输出:2

7.同一个字符开始和结束位置

public static void main(String[] args) {
String time = "2015-12-06 19:04:08";
int a = time.indexOf("0");
int b = time.lastIndexOf("0");
System.out.println("字符串0第一次出现的位置" + a + ",,,最后一次出现的位置" + b);
}
//控制台输出:字符串0第一次出现的位置1,,,最后一次出现的位置17

8.连接字符串

public static void main(String[] args) {
int a = 42;
StringBuffer sb = new StringBuffer();
String s = sb.append("a=").append(a).append("!").toString();
System.out.println(s);
}
//控制台输出:a=42!

9.在指定位置插入字符串

public static void main(String[] args) {
StringBuffer a=new StringBuffer("我是小明");
StringBuffer b=a.insert(2, "黄");
System.out.println(b);
}
//控制台输出:我是黄小明

10.删除指定字符:

public static void main(String[] args) {
StringBuffer a=new StringBuffer("abcdefghijklmn");
//删除,从下标为3的字符开始到下标为7的字符
StringBuffer b=a.delete(3, 7);
System.out.println(b);
}
//控制台输出:abchijklmn

11.字符串长度不够自动补0:

 public static String addZeroForNum(String str, int strLength) {
int strLen = str.length();
StringBuffer sb = null;
while (strLen < strLength) {
sb = new StringBuffer(); sb.append(str).append("0");//右(后)补0
str = sb.toString();
strLen = str.length();
}
return str;
}

目前总结就这些,希望给大家带来帮助。

另外我一直不太清楚String和StringBuffer的区别,大多数都用String,几乎没有用过StringBuffer,那什么时候该用String,什么时候该用StringBuffer呢?希望朋友们可   以指教,谢谢。

Java—字符串小结的更多相关文章

  1. Java基础知识回顾(一):字符串小结

    Java的基础知识回顾之字符串 一.引言 很多人喜欢在前面加入赘述,事实上去技术网站找相关的内容的一般都应当已经对相应知识有一定了解,因此我不再过多赘述字符串到底是什么东西,在官网中已经写得很明确了, ...

  2. 为什么Java字符串是不可变对象?

    转自 http://developer.51cto.com/art/201503/468905.htm 本文主要来介绍一下Java中的不可变对象,以及Java中String类的不可变性,那么为什么Ja ...

  3. Java 基础--小结

    Java  基础--小结 java基础 Java源程序(.java文件)——>java字节码文件(.class文件)——>由解释执行器(java.exe)将字节码文件加载到java虚拟机( ...

  4. Java 字符串格式化详解

    Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...

  5. Java中文编码小结

    Java中文编码小结 1. 只有 字符到字节 或者 字节到字符 的转换才存在编码转码; 2. Java String 采用 UTF-16 编码方式存储所有字符.unicode体系采用唯一的码点表示唯一 ...

  6. (转)Java字符串

    转自:http://blog.sina.com.cn/s/blog_899678b90101brz0.html 创建字符串有两种方式:两种内存区域(字符串池,堆)1," " 引号创 ...

  7. Java字符串split函数的注意事项

    Java字符串的split方法可以分割字符串,但和其他语言不太一样,split方法的参数不是单个字符,而是正则表达式,如果输入了竖线(|)这样的字符作为分割字符串,会出现意想不到的结果, 如, Str ...

  8. 关于java字符串编译优化问题

    情景一:不好的字符串拼接习惯    起因是这样的:一个大牛在写了一篇关于java字符串优化问题的讲解,他提到:不要使用strObj+otherValue的方法将otherValue转换为字符串形式,因 ...

  9. Java字符串排列算法

    Java字符串排列算法 题目:现有ABCDE 5个球 构成的排列组合 可重复抽取 最多取到16个 共有多少种组合方式? 比如:取1个球可以构成的组合有 A B C D E 共5种,取2个球可以构成的组 ...

随机推荐

  1. MVC4做网站后台:模块管理1、修改模块信息

    网站可能会包含一些模块:像文章.产品.图片.留言等. 栏目模块主要实现功能,启用或禁用模块,模块权限设置,模块上传设置等. 权限设置和上传设置以后专门考虑,先来显示或禁用模块. 1.在顶部导航栏添加管 ...

  2. js表单动态添加数据并提交

    情景1:已经存在form对象了,动态为form增加对象并提交 function formAppendSubmit(){ var myform=$('#newArticleForm'); //得到for ...

  3. Javascript中关键参数this浅析

    自从接触javascript以来,对this参数的理解一直是模棱两可.虽有过深入去理解,但却也总感觉是那种浮于表面,没有完全理清头绪. 但对于this参数,确实会让人产生很多误解.那么this参数到底 ...

  4. MySQL数据类型的验证

    CHAR char (M) M字符,长度是M*字符编码长度,M最大255. 验证如下: mysql)) default charset=utf8; ERROR (): ); use BLOB or T ...

  5. 使用Free Spire.Presentation生成PowerPoint文件

      使用Free Spire.Presentation生成PowerPoint文件 前言 之前有写过一篇使用Free Spire.XLS生成图表的文章,朋友圈内反应还不错,都希望我能继续写下去,把类似 ...

  6. PHP变量和数据类型

    编程语言可以分为三大类 1. 静态类型语言,比如:C/Java等,在静态语言类型中,类型的检查是在编译期(compile-time)确定的. 2. 动态语言类型,比如:PHP,python等各种脚本语 ...

  7. objective-c 语法快速过(6)内存管理原理

    内存管理基本原理(最重要) 移动设备的内存极其有限(iphone 4内存512M),每个app所能占用的内存是有限制的(几十兆而已). 当app所占用的内存较多时,系统会发出内存警告,这时得回收一些不 ...

  8. 轻松搞定Win8 IIS支持SVC 从而实现IIS寄宿WCF服务

    写在前面 为了尝试在IIS中寄宿WCF服务,需要配置IIS支持SVC命令,于是便有了在DOS命令中用到ServiceModelReg.exe注册svc命令. 坑爹的是注册成功后就开始报错.无奈之下两次 ...

  9. AngularJs之Scope作用域

    前言: 上篇博文AngularJs之directive中说了Scope作用域是个大坑,所以拿出来作为重点总结! 什么是scope AngularJS 中,作用域是一个指向应用模型的对象,它是表达式的执 ...

  10. Android之图片加载框架Fresco基本使用(一)

    PS:Fresco这个框架出的有一阵子了,也是现在非常火的一款图片加载框架.听说内部实现的挺牛逼的,虽然自己还没研究原理.不过先学了一下基本的功能,感受了一下这个框架的强大之处.本篇只说一下在xml中 ...