第06章 字符串的处理

第6章 字符串的处理

字符串属于类。
在Java语言中,处理文本主要应用的类是“String”类和“StringBuffer”类。
处理小型文本,使用“String”类。
处理大型文本,使用“StringBuffer”类。

public class str{
public static void main(String[] args){
String str = new String(); //构造函数
str = "HelloWorld";
System.out.println(str);
}
}

//说明:
1、定义字符串对象时,String的首字母是大写的。
2、构造器就是从类中构造出对象的方法。
3、字符串一共有9种不同的构造器,下面将详细讲述其中6种。

1、字符串类的默认构造器
格式:String()
String str = new String();

2、字节参数的构造器
格式:String(byte[] byte)
byte[] b = {97, 98, 99};
String str = new String(b);

3、获取指定字节数的构造器
格式:String(byte[] bytes, int offset, int length)
byte[] b = {97, 98, 99 88, 86, 46};
String str = new String(b, 3, 2);
结果:8886

4、将字节型数据转换为字符集输出的构造器
格式:String(byte[] bytes, int offset, int length, String charsetName)
try{
String str = new String(b, 3, 2, "utf-8");
System.out.println(str);
}catch(UnsupportedEncodingException ex){ }

5、字符数组的构造器
格式:String(char[] value)
char[] c = {‘w‘, ‘e‘, ‘l‘, ‘c‘, ‘o‘, ‘m‘, ‘e‘};
String str = new String(c);
System.out.println(str);

6、截取部分字符串数组内容的构造器:
格式:String(char[] value, int offset, int count)
char[] c = {‘w‘, ‘e‘, ‘l‘, ‘c‘, ‘o‘, ‘m‘, ‘e‘};
String str = new String(c, 3, 4);

7、综合应用
public class rent{
public static void main(String[] args){
int a[] = {7, 0, 4, 1, 2, 3, 8, 5, 9, 6, 10};
int b[] = {5, 2, 0, 6, 6, 8, 9, 1, 5, 8, 8};
String ls_iphone = new String();
for(int i=0; i<a.length; i++)
ls_iphone += b[a[i]];
System.out.println(ls_iphone);
}
}

第二部分 字符串处理的方法
1、串连接:+

2、提取子字符串:substring(int beginIndex, int endIndex)
substring(int index)
System.out.println(str.substring(2, 10));
System.out.println(str.substring(3)); //从第4个字符开始到所有字符。

String str = "we are students and he is a worker";
for(int i = 0; i < 34; i++){
System.out.println(str.substring(i));
}

3、从字符串中分解字符
charAt(int index)
System.out.println(str.charAt(1));

4、得到字符串的长度
System.out.println(str.length());

5、测试字符串是否相等
if(str.equals(str1)){

}

6、查找特定的子串
indexOf(子串内容) :如果返回负数,则子串内容不存在。
startsWith(子串内容) :是否以一个子串开始。
endsWith(子串内容) :是否以一个子串结尾。

public class str{
public static void main(String[] args){
String ls_str = "你是一个优秀的程序员";
boolean lb_start, lb_ends;
int li_pos;
li_pos = ls_str.indexOf("优");
lb_start = ls_str.startsWith("程");
lb_ends = ls_str.endsWith("是");
System.out.println(ls_str.indexOf("错"));
System.out.println(li_pos);
System.out.println(lb_start);
System.out.println(lb_ends);
}
}

7、从基本类型转换成字符串
valueOf()

8、toString()
String ls_a = "123";
System.out.println(ls_a.toString());

9、缓冲字符串处理类 —— StringBuffer
public class strbuff{
public static void main(String[] args){
StringBuffer ls_sba = new StringBuffer(); //实例化字符串对象,默认长度16
System.out.println(ls_sba.capacity()); //输出字符串的定义长度
System.out.println(ls_sba.length()); //输出字符串的使用长度

StringBuffer ls_sbb = new StringBuffer("我是优秀的"); //实例化固定长度的字符串对象默认16 + 5
System.out.println(ls_sbb.capacity()); //输出字符串的定义长度
System.out.println(ls_sbb.length()); //输出字符串的使用长度
ls_sbb.append("程序员"); //追加3个汉字
System.out.println(ls_sbb.capacity()); //输出字符串的定义长度
System.out.println(ls_sbb.length()); //输出字符串的使用长度
System.out.println(ls_sbb);
}
}

10、取字符串的单个字符 —— charAt()
public class charAt{
public static void main(String[] args){
StringBuffer sba = new StringBuffer("小明是一个优秀的程序员");
System.out.println(sba.capacity()); //输出字符串的定义长度
System.out.println(sba.length()); //输出字符串的使用长度
System.out.println(sba.charAt(4));
}
}

11、单个字符串赋值
public class setCharAt{
public static void main(String[] args){
StringBuffer sba = new StringBuffer("小明是一个优秀的程序员");
System.out.println(sba.capacity()); //输出字符串的定义长度
System.out.println(sba.length()); //输出字符串的使用长度
sba.setCharAt(0, ‘李‘); //替换相应位置的字符,
System.out.println(sba); //该函数不能与println嵌套使用。
}
}

12、指定位置插入字符串
public class insStrBuff{
public static void main(String[] args){
StringBuffer sba = new StringBuffer("我是一个");
sba.insert(4, "优秀的程序员"); //将字符串插入到指定位置
System.out.println(sba); //依次插入,不能留空
}
}

13、倒置字符串的内容
public class strReverse{
public static void main(String[] args){
StringBuffer sba = new StringBuffer("我是一个优秀的程序员");
System.out.println(sba.reverse());
}
}

14、将整数int转换成字符串String的方法有两种:
String s = String.valueOf(i);
String s = Integer.toString(i);

时间: 2024-08-21 23:31:55

第06章 字符串的处理的相关文章

&lt;&lt;Python基础教程&gt;&gt;学习笔记 | 第06章 | 抽象

第06章  抽象 ------ 懒惰即美德 假如要计算斐波那契数列(任何一个数是前两数之和的数字序列) >>> fibs=[0,1] >>> for i in range(8): fibs.append(fibs[-2]+fibs[-1]) #fibs[-2]+fibs[-1]后两位数,append往后添加 #运行后,包含10个斐波那契数列的10个数字是 >>> fibs [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] 如果允许用户

Java编程思想第四版读书笔记——第十三章 字符串

Java编程思想第四版读书笔记--第十三章 字符串 字符串的操作是计算机程序设计中最常见的行为. 关键词: StringBuilder ,StringBuffer,toString(),format转换,正则表达式, 1.不可变String String对象时不可变的.每当把String对象作为方法的参数时,都会复制一份引用.(其实就是对函数中参数列表中参数的操作不会影响外面的原参数) 如下: import static net.mindview.util.Print.*; public cla

第5章 字符串及正则表达式

第5章 字符串及正则表达式 5.1 字符串常用操作 在Python开发过程中,为了实现某项功能,经常需要对某些字符串进行特殊处理,如拼接字符串.截取字符串.格式化字符串等.下面将对Python中常用的字符串操作方法进行介绍. 5.1.1 拼接字符串 使用“+” 运算符可完成对多个字符串的拼接,“+” 运算符可以连接多个字符串并产生一个字符串对象. 例如,定义两个字符串,一个保存英文版的名言,另一个用于保存中文版的名言,然后使用“+” 运算符连接,代码如下: mot_en = 'Remembran

《C++primer》v5 第3章 字符串、向量和数组 读书笔记 习题答案

3.1略 3.2 string str; //读行 while(getline(cin,str)) cout<<str<<endl; //读单个词 while(cin>>str) cout<<str<<endl; 3.3 输入运算符读到空白符结束 getline读到换行符结束,并丢弃换行符 3.4 比较大小. 比较大小是比较的第一个不相同的字符的大小. int main() { string a,b; cin>>a>>b;

第06章-图像处理及可视化(1)

[译者:这个系列教程是以Kitware公司出版的<VTK User's Guide -11th edition>一书作的中文翻译(出版时间2010年,ISBN: 978-1-930934-23-8),由于时间关系,我们不能保证每周都能更新本书内容,但尽量做到一周更新一篇到两篇内容.敬请期待^_^.欢迎转载,另请转载时注明本文出处,谢谢合作!同时,由于译者水平有限,出错之处在所难免,欢迎指出订正!] [本节对应原书中的第119页至第125页] 第6章图像处理及可视化 图像数据,如图6-1所示,在

《ECMAScript 6 入门- 第三章 字符串的扩展》 —— 摘抄

1. codePointAT方法 JavaScript内部,字符以UTF-16的格式储存,每个字符固定为2个字节.对于那些需要 4个字节储存的字符(Unicode编号大于0xFFFF的字符),JavaScript会认为它们是两个字符.ES6提供了codePointAt方 法,能够正确处理4个字节储存的字符,返回一个字符的Unicode编号. codePointAt方法是测试一个字符由两个字节还是由四个字节组成的最简单方法. function is32Bit(c) { return c.codeP

C++ Primer学习总结 第3章 字符串,向量和数组

第3章 字符串,向量和数组 1.    如何用string读取一整行内容? 用getline(cin,s)即可. 当然getline()也可以用来作为while循环读取输入的判断条件. 2.    string与字符串字面值,字符字面值相加 由于+法是从左向右运算的,所以只要保证每次两个值相加时,+号左右两边至少有一个是string就行. 3.    string不仅可以与字符串字面值相加,还可以与以'\0'字符结束的字符串数组相加. 4.    注意下面数组的初值: 如果a与b数组都是全局的话

Java学习笔记—第九章 字符串String

第九章 字符串String Java中使用String类来创建一个字符串变量,字符串变量是类类型变量,是一个对象.声明字符串的语法格式如下:String s; 创建字符串:通过String类提供的构造方法可创建字符串,有以下几种方式: (1)创建字符串对象时直接赋值,例如: String s1 = "hello"; String s2 = new String("hello"); (2)由一个字符串创建另一个字符串,例如: String s1 = "hel

语法》第四章 字符串

(本文为阮一峰js标准教程的学习笔记,旨在总结该教程中涉及的知识点大纲及个人所做的一些拓展,方便作为"目录"或者"大纲"复习和查漏补缺,详细内容请参见阮一峰教程原文) 第二部分 语法 *************第四章 字符串*************** 一.概述1.定义:零个或者多个字符,放在单引或双引之中.2.单引套双引,双引套单引.3.单套单,双套双,前面加斜杠转义.'\' xxxxx\''4.js字符串建议单引,因为html属性是双引,不要各种风格代码混写.