Java—字符串小结
最近工作中用到了大量有关字符串截取的知识,在此做出总结,希望需要的朋友带来帮助:
可以复制粘贴代码直接在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—字符串小结的更多相关文章
- Java基础知识回顾(一):字符串小结
Java的基础知识回顾之字符串 一.引言 很多人喜欢在前面加入赘述,事实上去技术网站找相关的内容的一般都应当已经对相应知识有一定了解,因此我不再过多赘述字符串到底是什么东西,在官网中已经写得很明确了, ...
- 为什么Java字符串是不可变对象?
转自 http://developer.51cto.com/art/201503/468905.htm 本文主要来介绍一下Java中的不可变对象,以及Java中String类的不可变性,那么为什么Ja ...
- Java 基础--小结
Java 基础--小结 java基础 Java源程序(.java文件)——>java字节码文件(.class文件)——>由解释执行器(java.exe)将字节码文件加载到java虚拟机( ...
- Java 字符串格式化详解
Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...
- Java中文编码小结
Java中文编码小结 1. 只有 字符到字节 或者 字节到字符 的转换才存在编码转码; 2. Java String 采用 UTF-16 编码方式存储所有字符.unicode体系采用唯一的码点表示唯一 ...
- (转)Java字符串
转自:http://blog.sina.com.cn/s/blog_899678b90101brz0.html 创建字符串有两种方式:两种内存区域(字符串池,堆)1," " 引号创 ...
- Java字符串split函数的注意事项
Java字符串的split方法可以分割字符串,但和其他语言不太一样,split方法的参数不是单个字符,而是正则表达式,如果输入了竖线(|)这样的字符作为分割字符串,会出现意想不到的结果, 如, Str ...
- 关于java字符串编译优化问题
情景一:不好的字符串拼接习惯 起因是这样的:一个大牛在写了一篇关于java字符串优化问题的讲解,他提到:不要使用strObj+otherValue的方法将otherValue转换为字符串形式,因 ...
- Java字符串排列算法
Java字符串排列算法 题目:现有ABCDE 5个球 构成的排列组合 可重复抽取 最多取到16个 共有多少种组合方式? 比如:取1个球可以构成的组合有 A B C D E 共5种,取2个球可以构成的组 ...
随机推荐
- 看看国外的javascript题目,你能全部做对吗?
叶小钗 的博客最近都在讨论面试题目 正好以前也看过一篇,就借花献佛拿出来分享一下 http://perfectionkills.com/javascript-quiz/ 附带了自己的理解,答案有争议的 ...
- Segmentation fault (core dumped)
问题: 在Linux中实现快速排序时,没有加入终止条件,结果出现Segmentation fault (core dumped)这个问题,Segmentation fault (core dumped ...
- c++与java中子类中调用父类成员的方法
java中: import java.util.Scanner; public class ClassTest{ public static void main(String args[]){ chi ...
- 完全抽离WebAPi之特殊需求返回HTML、Css、JS、Image
前言 今天我们来实现一个特殊的需求,这个需求说来也不过分,不过有点违背WebAPi的真实用途,WebAPi不过是作为传输数据而用,若非在项目开发中断不可想到还要实现一个页面来实时显示列表并进行后续其他 ...
- 走进AngularJs(六) 服务
今天学习了一下ng的service机制,作为ng的基本知识之一,有必要做一个了解,在此做个笔记记录一下. 一.认识服务(service) 服务这个概念其实并不陌生,在其他语言中如java便有这样的概念 ...
- vmware安装win7提示No CD-ROM drive to use:GCDROM not loaded
今天安装win7 64位的操作系统到vmware虚拟机,以为一切事如此的简单,因为自己以前经常拿vmware来装系统,结果确出现下面莫名其妙的错误: 提示说没有CD-ROM,可是我明明在vmware的 ...
- 我的编程开始(C)
一,前言 写完t-sql系列,想了想自己的编程之路,一直有个想法,把自己这两年所整理的编程知识拿出来和大家分享,本来写完t-sql是想写一些设计思想的,因为现在也是在学习和整理一些简单框架,经常泡在大 ...
- gulp自动化构建工具
gulp 自动化构建工具,实时监控.代码合并.压缩... http://www.gulpjs.com.cn/ 中文网 http://gulpjs.com/plugins/ 英文网 ...
- 解决CHROME中画布中无法显示图片的方法
最终效果图如下 我按照W3SCHOOL里面的方法,代码如下 <!DOCTYPE html> <html> <body> <script type=" ...
- CSS3魔法堂:说说Multi-column Layout
前言 是否记得<读者文摘>中那一篇篇优美感人的文章呢?那除了文章内容外,还记得那报刊.杂志独有的多栏布局吗? 当我们希望将报刊.杂志中的阅读体验迁移到网页上时,最简单直接的方式就是采用 ...