字符串

看到字符串,想到字符串处理中,有

字符串的反转,初级面试中常用到

字符串分割成字符串组,初级面试中常用到

字符串中的替换,初级面试中常用到

字符串中的截取,初级面试中常用到

反转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中对字符串的常见处理函数汇总的更多相关文章

  1. [原创]Java中的字符串比较,按照使用习惯进行比较

    java中的字符串比较一般可以采用compareTo函数,如果a.compareTo(b)返回的是小于0的数,那么说明a的unicode编码值小于b的unicode编码值. 但是很多情况下,我们开发一 ...

  2. 转载:Java中的字符串常量池详细介绍

    引用自:http://blog.csdn.net/langhong8/article/details/50938041 这篇文章主要介绍了Java中的字符串常量池详细介绍,JVM为了减少字符串对象的重 ...

  3. 《Java入门第三季》第二章 认识 Java 中的字符串

    什么是 Java 中的字符串.1.在Java的世界里,字符串被作为String类型的对象处理. 2.通用的初始化的方式:String s = new String("i love you & ...

  4. Java中的字符串常量池,栈和堆的概念

    问题:String str = new String(“abc”),“abc”在内存中是怎么分配的?    答案是:堆内存.(Tips:jdk1.8 已经将字符串常量池放在堆内存区) 题目考查的为Ja ...

  5. (转载)java中判断字符串是否为数字的方法的几种方法

    java中判断字符串是否为数字的方法: 1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < ...

  6. 理解Java中的字符串类型

    1.Java内置对字符串的支持: 所谓的内置支持,即不用像C语言通过char指针实现字符串类型,并且Java的字符串编码是符合Unicode编码标准,这也意味着不用像C++那样通过使用string和w ...

  7. Java中的字符串驻留

    转自:http://www.cdtarena.com/javapx/201307/9088.html 最近在工作的时候,一句再正常不过的代码String a = “hello” + “world”;被 ...

  8. Java中的字符串拼接

    Java中的字符串拼接 1.设计源码 /** * @Title:IndexOf.java * @Package:com.you.freemarker.model * @Description: * @ ...

  9. java中,字符串类型的时间数据怎样转换成date类型。

    将字符串类型的时间转换成date类型可以使用SimpleDateFormat来转换,具体方法如下:1.定义一个字符串类型的时间:2.创建一个SimpleDateFormat对象并设置格式:3.最后使用 ...

随机推荐

  1. PHP指定时间戳/日期加一天,一年,一周,一月

    PHP指定时间戳加上1天,1周,1月,一年其实是不需要用上什么函数的!指定时间戳本身就是数字整型,我们只需要再计算1天,1周它的秒数相加即可! 博主搜索php指定时间戳加一天一年,结果许多的文章给出来 ...

  2. 找不到main

    用eclipse写代码的时候,写了一个简单的程序,编译的时候突然出现“错误: 在类 com.test.demo 中找不到 main 方法, 请将 main 方法定义为: public static v ...

  3. AngularJS资源合集[备忘]【申明:来源于网络】

    AngularJS资源合集[备忘][申明:来源于网络] 地址:http://blog.csdn.net/allgis/article/details/44646597

  4. 浅谈Vue 项目性能优化 经验

    我优化公司的项目总结的几点: 1.先查看引入的图片大小,如果太大了,可以压缩,压缩路径:https://zhitu.isux.us/ 2.代码包优化, 待下项目开发完成.进行打包源码上线环节,需要对项 ...

  5. JavaScript 世界万物诞生记

    一. 无中生有 起初,什么都没有.造物主说:没有东西本身也是一种东西啊,于是就有了null: 现在我们要造点儿东西出来.但是没有原料怎么办?有一个声音说:不是有null嘛?另一个声音说:可是null代 ...

  6. webservice接口测试wsdl

    http和webservice接口测试有什么区别? webservice的基础组成是http+xml 三要素:soap传输协议,uddi,wsdl(webservice描述语言xml格式) 优点:跨平 ...

  7. Codeforces 570E - Pig and Palindromes - [滚动优化DP]

    题目链接:https://codeforces.com/problemset/problem/570/E 题意: 给出 $n \times m$ 的网格,每一格上有一个小写字母,现在从 $(1,1)$ ...

  8. mysql 时间戳的使用!

    时间转时间戳方法: unix_timestamp() 记录时间戳的类型: bigint 时间戳转时间的方法:from_timestamp() 感谢水哥给的截图!

  9. java之threadlocal的使用

    基本介绍 ThreadLocal很多地方叫线程本地变量,或者叫线程本地存储.ThreadLocal为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线 ...

  10. poi导入excel表格数据到数据库的时候,对出生日期的校验

    出生日期格式为8位数字的字符串 如:yyyyMMdd 规则:yyyy大于1900并小于当前时间,月.日 按日期规则校验 //解决读过来的字符串显示为科学计数法问题 BigDecimal bd = ne ...