字符串

该博客围绕Java中的字符串展开,介绍了字符串的创建方式,如使用不同构造函数创建String对象;阐述了字符串的操作,包括连接、获取信息、获取指定位置字符;还讲解了去掉字符串中空格的多种方法,以及字符串替换的两种方法。

1. 创建字符串

String类即字符串类型,但它不是Java的基本数据类型。
(1)String

一个String对象可以表示一个空的字符序列。

(2)String(char a[])

用一个字符数组a创建字符串的对象。

	char a[]={'g','o','o','d'};
	String s=new String(a);
等价于:
	String s=new String("good");

举个例子,代码如下:

package com.practice.string.test;

public class ReplaceString {
	public static void main(String[] args) {
		//创建字符串
		char[] a= {'u','n','i','v','e','r','s','i','t','y'};
		String str=new String(a);
		System.out.println(str);
	}
}

运行结果如下:
在这里插入图片描述

(3)String(char a[],int offset,int length)

提取字符数组a中的一部分创建一个字符串对象。参数offset表示开始截取字符串的位置,length表示截取字符串的长度。

    char[] a={'s','t','a','t','e'};
	String s=new String(a,1,3);
   等价于:
   String s=new String("tat");

2. 字符串的操作

(1)字符串的连接
	两个连接的字符串使用“+”相连,“+”是字符串的连接符。连接之后生成一个新的字符串。

主要代码如下:

		String s1=new String("hello");
		String s2=new String("world");
		String s=s1+" "+s2;

输出的结果是:hello world

注意:只要“+”运算符的一个操作类型是字符串,编译器就会将 另外的操作类型转换成字符串。
(2)获取字符串的信息

① 获取字符串的长度:

格式:指定的字符串对象.length();

②获取指定的字符索引位置:
indexOf()方法,搜索的字符首次出现位置的索引
lastIndexOf()方法,搜索的字符最后出现位置的索引

格式:任意字符串对象.indexOf(要搜索的字符);
     任意字符串对象.lastIndexOf(要搜索的字符);
注意:如果lastIndexOf()方法中的参数是空字符串“ ”,则返回的结果与调用字符串的length()方法的返回结果相同。
(3)获取指定位置的索引的字符
格式:任意字符串.charAt(整型值,用于指定要返回字符的下标);

3. 去掉字符串中的空格

(1)去掉字符串中的前导、尾部空格:trim()方法
格式:任意的字符串对象.trim();
(2)去掉字符串中的所有空格:StringTokenizer()方法
格式: 
    StringTokenizer(String 要去除空格的字符串,String 字符串名)
(3)替换字符串中的所有空格达到去除字符串的目的:replaceAll()方法
格式:字符串名.replaceAll(String 字符串中想要被替换的字符串,String 新字符串);

代码如下:

package com.practice.string.test;

import java.util.StringTokenizer;

public class ReplaceString {
	public static void main(String[] args) {
		//创建字符串
		char[] a= {'u','n','i','v','e','r','s','i','t','y'};
		String str=new String(a);
		System.out.println(str+"\n");
		
		/*
		 * String(char a[],int offset,int length)
		 * 提取字符数组a中的一部分创建一个字符串对象	
		 */
		String b=new String(a,2,4);
		System.out.println(b+"\n");
		
		//字符串的连接
		String c=str+" "+b;
		System.out.println(c+"\n");
		
		//获取字符串的度
		System.out.println(c.length()+"\n");
		/*
		 * 1.获取指定的字符索引位置
		 * 2.获取指定位置的索引的字符
		 * 3.去掉字符串中的空格
		 */
		//字符首次出现位置的索引
		System.out.println(c.indexOf('i'));
		//字符最后出现位置的索引
		System.out.println(c.lastIndexOf('i'));
		//去掉字符串中的前导、尾部空格:trim()方法
		String d=new String(" hello world ");
		System.out.println(d.trim()+"\n");
		//去掉字符串的所有空格
		System.out.println("原字符串是:"+d);
		StringTokenizer s=new StringTokenizer(d," " );
		System.out.println("去掉空格之后的字符串是:"+s+"\n");
		//替换字符串中的所有空格达到去除字符串
		System.out.println("原字符串是:"+d);
		System.out.println("空格全替换之后的字符串是:"+d.replaceAll(" ", "123"));
		
	}
}

运行结果如下:
在这里插入图片描述

4.字符串的替换

(1)replace()方法:替换所有于指定位置相符的字符串
格式:字符串名.(想要被替换的字符串,新字符串)
(2)replaceFirst():替换第一个出现的指定字符串
格式:字符串名.(想要被替换的字符串,新字符串)

举例如下:

package com.practice.string.test;

public class Replace {
  public static void main(String[] args) {
  	String s="lili rui lili ni hao ";
  	System.out.println("原来的字符串是:"+s);
  	System.out.println("替换之后的字符串:"+s.replace("lili", "123"));
  	System.out.println("替换之后的字符串是:"+s.replaceFirst("lili", "zzz"));
  }
}

运行结果如下:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值