字符串截取

指定位置截取

先来介绍最常用的一种

1、通过subString()方法来进行字符串截取,返回字符串中的子字符串,在java中有两种用法

第一种,传递一个参数:

publicStringsubstring(int beginIndex)//该子字符串从指定索引处的字符开始,直到此字符串末尾。12

第二种,传递两个参数:

publicStringsubstring(int beginIndex,int endIndex)//从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。12

//参数说明:beginIndex – 起始索引(包括)、endIndex – 结束索引(不包括)。

字符串替换,Java中的replace()函数

函数原型:replace(CharSequence target, CharSequence replacement) 用replacement替换掉target。这两个参数都是字符串

很巧妙的计数用法,通过替换指定字符,在比对前后的长度,获取指定字符个数

类似删除,但java没有指定删除方法,

字符串排序

自然排序方法

.toCharArray()转换为数组

Arrays.sort(arr);使用sort函数,实现字母,数字的自然顺序排序

回转string

  1. 建立新的StringBuffer类型字符串,
  2. 通过循环append数组内的元素
  3. sb.tostring()转为string字符串
String[] arr = { "123", "abc" };
StringBuffer sb = new StringBuffer();
for (int i = 0; i < arr.length; i++) {
    sb.append(arr[i]); // String并不拥有append方法,所以借助 StringBuffer
}
String sb1 = sb.toString();
System.out.println(sb1); // 输出123abc

StringBuilder

StringBuilder与String转换

StringBuilder转String

直接通过toString()方法即可

StringBuilder sb=new StringBuilder("abc");
                    String sb1=sb.toString();

StringBuilder,可随时加长,add方法

StringBuilder sb = new StringBuilder(“hello”);
sb.append(“word”);

字符串

字符串检测包含字符/串

.contains(“”);

检测字符首次出现位置

要求是StringBuilder类型

E就是要检测的字符串

indexof() 是返回某个指定的字符串值在字符串中首次出现的位置,

如果要检索的字符串值没有出现,则该方法返回 -1。

sb.indexOf("E")

扩展用法-检测到某个字符停止

如果一直没出现过,那么使用indexof()检测就会一直是-1

如果不是-1那么就证明出现了,也可以操作了

while (sb.indexOf("E") == -1);

字符串转换

int数组转为字符串类型

toStringMethod(i);

}

private static void toStringMethod(int[] arr)

{

    // 自定义一个字符缓冲区,

    StringBuilder sb = new StringBuilder();

    sb.append("[ ");

    //遍历int数组,并将int数组中的元素转换成字符串储存到字符缓冲区中去

    for(int i=0;i

            {

        if(i!=arr.length-1)

            sb.append(arr[i]+" ,");

        else

            sb.append(arr[i]+" ]");

            }

    System.out.println(sb);

}

}

string类型转int类型

使用Integer.parseInt(string)

String empId1 = "1001";
int intEmpId1 = Integer.parseInt(empId1);
System.out.println(intEmpId1);

Output :
1001

使用Integer.valueof(string)

String empId2 = "2001";

Integer integerEmpId2 = Integer.valueOf(empId2);
System.out.println(integerEmpId2);

Output :
2001

字符串与数组的相互转换

字符串转换为数组

1)Java String 类中的 toCharArray() 方法将字符串转换为字符数组,具体代码如下所示。

String str = "123abc";
char[] arr = str.toCharArray();    // char数组
for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);    // 输出1 2 3 a b c
}

2)Java.lang 包中有 String.split() 方法,Java 中通常用 split() 分割字符串,返回的是一个数组。

String str = "123abc";
String[] arr = str.split("");
for (int i = 0; i < arr.length; i++) { // String数组
    System.out.print(arr[i]); // 输出 1 2 3 a b c

使用 split() 方法注意如下:

如果用“.”或“|”作为分隔的话,必须是如下写法,String.split("\.")或 String.split("\|"),这样才能正确的分隔开,不能用 String.split(".") 或

String.split("|")。

如果在一个字符串中有多个分隔符,可以用“|”作为连字符,如“acount=? and uu =? or n=?”,把三个都分隔出来,可以用String.split(“and|or”);

如果想在串中使用“”字符,则也需要转义。首先要表达“aaaa\bbbb”这个串就应该用"aaaa\bbbb”,这样分隔才能得到正确结果。

3)如果要返回 byte 数组就直接使用 getBytes 方法就可以了。

String str = "123abc" ;
byte [] arr = str.getBytes();

4)使用 StringUtils 中的 join 函数,使用前需先引入 common-lang3 的 jar 包,可去 apache 官网下载,代码如下所示。

StringUtils.join(null) = null;
StringUtils.join([]) = "";
StringUtils.join([null])= "";
StringUtils.join(["a", "b", "c"]) = "abc";
StringUtils.join([null, "", "a"]) = "a";
String[] str = { "1", "2", "a", "b" };
// 将数组变成字符串
StringUtils.join(str);
// 将数组用逗号分隔变成字符串
StringUtils.join(str, ",");

数组转换为字符串

1)char 字符数组转化为字符串,使用 String.copyValueOf(charArray) 函数实现,具体代码如下所示。

char[] arr = { 'a', 'b', 'c' };
String string = String.copyValueOf(arr);
System.out.println(string); // 输出abc

2)String 字符串数组转化为字符串,代码如下所示。

String[] arr = { "123", "abc" };
StringBuffer sb = new StringBuffer();
for (int i = 0; i < arr.length; i++) {
    sb.append(arr[i]); // String并不拥有append方法,所以借助 StringBuffer
}
String sb1 = sb.toString();
System.out.println(sb1); // 输出123abc