JAVA中对字符串的常见处理函数汇总
字符串
看到字符串,想到字符串处理中,有
字符串的反转,初级面试中常用到
字符串分割成字符串组,初级面试中常用到
字符串中的替换,初级面试中常用到
字符串中的截取,初级面试中常用到
反转reverse,java 中字符串没有reverse这个方法,Python中有,如果未有编程语言限制,可以直接用python语言
str.reverse()实现;
那用Java呢,也很简单,就是将所有字符倒序;
有时候,面试要求将所有的方法都写下来
Java中String没有reverse方法,StringBuilder有这个方法
String str = "12345";
@Test
public void Test() {
StringBuilder stringBuilder = new StringBuilder();
char[] chars = str.toCharArray();
System.out.println("字符串的长度是" + chars.length);
int m = 1;
for (int i = chars.length; i >= 1; i--) {
stringBuilder = stringBuilder.append(chars[i - 1]);
System.out.println("the" + m + "char is--" + chars[i - 1]);
m++;
}
System.out.println(stringBuilder.toString());
}
@Test
public void Test2() {
StringBuilder stringBuilder = new StringBuilder(str);
System.out.println(stringBuilder.reverse().toString());
}
@Test
public void Test3() {
char[] chars = str.toCharArray();
String str_reverse="";
for (int i = chars.length - 1; i >= 0; i--) {
str_reverse += chars[i];
}
System.out.println(str_reverse);
}
@Test
public void Test4() {
String str_reverse = "";
int length = str.length();
for (int i = 0; i < length; i++) {
str_reverse = str.charAt(i) + str_reverse;
}
System.out.println(str_reverse);
}
第一种,用了StringBuilder()中字符append连接,
字符串中函数toCharArray();将字符串变成字符数组,然后反向遍历
第二种,直接用了StringBuilder()中reverse方法
第三种,字符串中函数toCharArray();方法,反向将字符串连接
第四种,字符串中的函数.charAt(i)方法,获取指定位置的字符,后面的字符依次遍历并且链接在首位
字符串分割,可以根据指定字符,指定字符串,指定正则表达式进行分割,分几段也可以限制
public class TestString2 {
String str = "bb1a2a3a4a5a";
@Test
public void Test() {
String[] str2 = str.split("a");
for (int i = 0; i < str2.length; i++) {
System.out.println(str2[i]);
}
}
@Test
public void Test2() {
String[] str2 = str.split("a",3);
for (int i = 0; i < str2.length; i++) {
System.out.println(str2[i]);
}
}
@Test
public void Test3() {
String[] str2 = str.split("\\d");
for (int i = 0; i < str2.length; i++) {
System.out.println(str2[i]);
}
}
@Test
public void Test4() {
String[] str2 = str.split("\\d",3);
for (int i = 0; i < str2.length; i++) {
System.out.println(str2[i]);
}
}
}
字符串中的替换,主要有replace 和 replaceAll
public class TestString3 {
String str = "a1a2a3a4a5a";
@Test
public void Test() {
String str1= str.replace("a","b");
System.out.println(str1);
String str2= str.replace("a4","bE");
System.out.println(str2);
String str3= str.replaceAll("\\d","E");
System.out.println(str3);
}
}
字符串中的截取,主要是substring()
public class TestString4 {
@Test
public void TestSubString() {
String str= "123456789";
System.out.println(str.substring(0, 7));
System.out.println(str.substring(1, 7));
System.out.println(str.substring(4));
System.out.println(str.substring(0));
}
}
更多更详细的方法,见下图
图片可以方法看, 图片链接
https://img2018.cnblogs.com/blog/1064427/201901/1064427-20190107160519024-23600065.png

JAVA中对字符串的常见处理函数汇总的更多相关文章
- [原创]Java中的字符串比较,按照使用习惯进行比较
java中的字符串比较一般可以采用compareTo函数,如果a.compareTo(b)返回的是小于0的数,那么说明a的unicode编码值小于b的unicode编码值. 但是很多情况下,我们开发一 ...
- 转载:Java中的字符串常量池详细介绍
引用自:http://blog.csdn.net/langhong8/article/details/50938041 这篇文章主要介绍了Java中的字符串常量池详细介绍,JVM为了减少字符串对象的重 ...
- 《Java入门第三季》第二章 认识 Java 中的字符串
什么是 Java 中的字符串.1.在Java的世界里,字符串被作为String类型的对象处理. 2.通用的初始化的方式:String s = new String("i love you & ...
- Java中的字符串常量池,栈和堆的概念
问题:String str = new String(“abc”),“abc”在内存中是怎么分配的? 答案是:堆内存.(Tips:jdk1.8 已经将字符串常量池放在堆内存区) 题目考查的为Ja ...
- (转载)java中判断字符串是否为数字的方法的几种方法
java中判断字符串是否为数字的方法: 1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < ...
- 理解Java中的字符串类型
1.Java内置对字符串的支持: 所谓的内置支持,即不用像C语言通过char指针实现字符串类型,并且Java的字符串编码是符合Unicode编码标准,这也意味着不用像C++那样通过使用string和w ...
- Java中的字符串驻留
转自:http://www.cdtarena.com/javapx/201307/9088.html 最近在工作的时候,一句再正常不过的代码String a = “hello” + “world”;被 ...
- Java中的字符串拼接
Java中的字符串拼接 1.设计源码 /** * @Title:IndexOf.java * @Package:com.you.freemarker.model * @Description: * @ ...
- java中,字符串类型的时间数据怎样转换成date类型。
将字符串类型的时间转换成date类型可以使用SimpleDateFormat来转换,具体方法如下:1.定义一个字符串类型的时间:2.创建一个SimpleDateFormat对象并设置格式:3.最后使用 ...
随机推荐
- Python学习之旅(二十一)
Python基础知识(20):错误.调试和测试 一.错误处理 在运行程序的过程中有可能会出错,一般我们会在添加一段代码在可能出错的地方,返回约定的值,就可以知道会不会出错以及出错的原因 1.使用try ...
- HTTP协议实际使用笔记
mozilla的帮助文档: https://developer.mozilla.org/zh-CN/docs/Web/HTTP HTTP协议详解(转) php http头设置相关信息 这个2篇最好先看 ...
- Gym 101194E / UVALive 7901 - Ice Cream Tower - [数学+long double][2016 EC-Final Problem E]
题目链接: http://codeforces.com/gym/101194/attachments https://icpcarchive.ecs.baylor.edu/index.php?opti ...
- CF280D k-Maximum Subsequence Sum
题目链接:洛谷 题目大意:[题意翻译已经够直白了] 首先,相信大家一开始都是想去直接dp,但是发现复杂度不对. 于是我们考虑一个黑科技:模拟费用流(相信大部分人看见数据范围就绝对不会想到费用流) 我们 ...
- PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 的区别
$_SERVER['SCRIPT_FILENAME'] -------> 当前执行程序的绝对路径及文件名__FILE__ ...
- 16.0-uC/OS-III同步
同步 uC/OS-III中用于同步的两种机制:信号量和事件标志组 . 1.信号量 信号量最初用于控制共享资源的访问.信号量可用于ISR与任务间.任务与任务间的同步. “ N”表示信号量可以被累计.初始 ...
- 【UML】NO.71.EBook.9.UML.4.002-【PowerDesigner 16 从入门到精通】- RQM
1.0.0 Summary Tittle:[UML]NO.71.EBook.9.UML.4.002-[PowerDesigner 16 从入门到精通]- RQM Style:DesignPatter ...
- python队列基本使用
Python queue队列 作用: 解耦:使程序直接实现松耦合,修改一个函数,不会有串联关系. 提高处理效率:FIFO = 现进先出,LIFO = 后入先出. 队列: 队列可以并发的派多个线程, ...
- python工具的选择
自己喜欢用pycharm,下载地址:https://www.jetbrains.com/products.html#lang=python 补丁地址:http://idea.lanyus.com/
- U盘安装Windows Server 2008 r2失败,改用磁盘安装
一.使用UltraISO制作系统安装启动U盘提示错误“缺少所需的CD/DVD驱动器设备驱动程序.…………”试了各种方法都不能通过U盘进行安装. 二.直接使用磁盘安装0.使用PE先将磁盘格式化.分区.1 ...