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.最后使用 ...
随机推荐
- 在 C# 中使用文件名启动应用程序
本文演示了如何启动与某一给定文档扩展名或文件类型关联的应用程序而又无须知道该关联应用程序的名称或位置.例如,您可以用一个与 .bmp 文件扩展名关联的应用程序启动 Arcade.bmp 文件,多 ...
- OAuth2.0的原理介绍
OAuth2.0是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版. OAuth2.0(开放授权)是一个正式的互联网标准协议. 允许第三方网站在用户 ...
- arcpy 零碎知识
记忆力越来越差,在这里记些东西: 1.使用 CURRENT 引用 ArcMap 中当前加载的地图文档时,有时需要刷新内容列表或活动视图(数据视图或布局视图). 在 Python 窗口中输入以下两行,在 ...
- Rob Pike
罗布·派克_百度百科 https://baike.baidu.com/item/罗布·派克 1. 你无法断定程序会在什么地方耗费运行时间.瓶颈经常出现在想不到的地方,所以别急于胡乱找个地方改代码, ...
- windows 控制台下运行cl命令
前提:确保已经安装vc6或者vs系列 我们可以再命令行直接编译c++程序, 在windows操作系统中,打开命令行,输入cl,若系统提示:'cl' 不是内部或外部命令,也不是可运行的程序或批处理文件. ...
- EXT的bug 布局border 和 grid的cellediting
首先 我要的布局是上下两块,并且高度和按自己的喜欢可调节,所以我采用的是border的布局, 上下两块,都放grid列表,上面一块不可编辑,下面这块可编辑,如图 在编辑第二块的时候会出现这个现象 图一 ...
- 017-并发编程-Condition
一.概述 任何一个Java对象,都拥有一组监视器方法,主要包括wait().notify().notifyAll()方法,这些方法与synchronized关键字配合使用可以实现等待/通知机制.使用这 ...
- java框架之SpringBoot(2)-配置
规范 SpringBoot 使用一个全局的配置文件,配置文件名固定为 application.properties 或 application.yml .比如我们要配置程序启动使用的端口号,如下: s ...
- JMeter上架标的(yyb-csg)
yyb-csg 1.登录时一直提示用户名不能为空,可是明明已经传值了呀 解决:添加cookie管理器 2.怎么获取到待受理的项目, 在python脚本的实现过程中发现,在平台受理一步中传的lid值就是 ...
- [LeetCode] 90.Subsets II tag: backtracking
Given a collection of integers that might contain duplicates, nums, return all possible subsets (the ...