最近工作中用到了大量有关字符串截取的知识,在此做出总结,希望需要的朋友带来帮助:
  可以复制粘贴代码直接在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. 深入理解javascript描述元素内容的5个属性

    × 目录 [1]innerHTML [2]outerHTML [3]innerText[4]outerText[5]textContent 前面的话 <p>This is a <i& ...

  2. IOS学习之NSNotificationCenter消息机制

    NSNotificationCenter是 Cococa消息中心,统一管理单进程内不同线程的消息通迅. 添加观察者接收通知: //添加通知中心观察者 [[NSNotificationCenter de ...

  3. MySQL学习笔记十六:锁机制

    1.数据库锁就是为了保证数据库数据的一致性在一个共享资源被并发访问时使得数据访问顺序化的机制.MySQL数据库的锁机制比较独特,支持不同的存储引擎使用不同的锁机制. 2.MySQL使用了三种类型的锁机 ...

  4. 通过SSH连接linux服务器

    SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目前较可靠,专 ...

  5. 前端编码风格规范之 JavaScript 规范

    JavaScript 规范 全局命名空间污染与 IIFE 总是将代码包裹成一个 IIFE(Immediately-Invoked Function Expression),用以创建独立隔绝的定义域.这 ...

  6. Git代码管理工具

    Git代码管理工具 Git 是分布式的源代码管理工具,这点区别于svn -让源代码可以被追溯,主要是记录了每次的更新了什么,如果新版本不想用,那么则可以退回之前的版本 -Git 是Linux之父当年为 ...

  7. PHP类的原理

    一.类的实现 类的内部存储结构: struct _zend_class_entry { char type; // 类型:ZEND_INTERNAL_CLASS / ZEND_USER_CLASS c ...

  8. Android 命名规范 (提高代码可以读性)

    android文件众多,根据名称来辨别用途很重要,因此命名要规范 这篇文章可参考:Android 命名规范 (提高代码可以读性) 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名 ...

  9. 移动端IM系统的协议选型:UDP还是TCP?

    1.前言 对于有过网络编程经验的开发者来说,使用何种数据传输层协议来实现数据的通信,是个非常基础的问题,它涉及到你的第一行代码该如何编写. 从PC时代的IM开始,IM开发者就在为数据传输协议的选型争论 ...

  10. 最基本的javascript native carousel (1)

    原理:主要运用z-index这个属性来设置图片的展示和隐藏,代码如下: <!DOCTYPE html> <html lang="en"> <head& ...