Java程序设计学习笔记【第四篇】数组与字符串

3.2.2 字符串的常用方法

| 方法 | 说明 |

| — | — |

| length() | 取得字符串的字符长度 |

| equals() | 判断两个字符串中的字符是否等于 |

| toLowerCase() | 转换字符串中的英文字符为小写 |

| toUpperCase() | 转换字符串中的英文字符为大写 |

特别强调:字符串比较可以比较 变量的地址值, 也可以比较变量的 内容(串)。

3.2.3 字符串的转换

1)字符串==>数值

Int x = Integer.parseInt(str);

float n = Integer.parseFloat(str);

Double b = Double.valueOf(str).doubleValue();

2)数值==>字符串

String.valueOf( 各类型数值变量 or 常量)

例如:String str = String.valueOf(124.345);

String s2 = String.valueOf(3000);

3)字符串 ==> 字节数组

byte b[ ] = 字符串对象.getBytes();

例如: byte b[ ] = “this is a string”.getBytes();

在这里插入图片描述

4)字节数组 => 字符串

public class Tester {

public static void main(String[] args) {

byte[] bts = {1,65,98,4,5};

String str = new String(bts, 1, 2);

System.out.println(str); // 输出什么?

byte[] en = “welikejava”.getBytes();

String str2 = new String(en, 2, 4);

System.out.println(str2); // 输出什么?

byte[] cn = “我们喜欢Java”.getBytes();

String str3 = new String(cn, 6, 5);

System.out.println(str3); // 输出什么?

}

}

运行结果:

Ab

like

欢Jav


3.2.4 StringTokenizer字符分析器

StringTokenizer 类, 来自 java.util 包中,其对象被称为字符分析器。

构造方法:

StringTokenizer(String str, String delimeter)

将 str 字符串封装到一个对象中, 分隔符由 delimeter 变量指定,可指定多个字符。

例如:

String str = “this is a test. Please test your codes.”;

StringTokenizer token = new StringTokenizer(str, “ ”);

// token对象称为字符分析器,将分析str字符串,采用 空格 作为分析时的分隔符号。

常用方法:

  • hasMoreTokens() 检测被分析的字符串中是否还有语言符号,有则返回true,否则false,多用在循环的条件中;

  • nextToken() 逐个获取被分析字符串中的语言符号;

  • countTokens() 计算总共调用了nextToken方法的次数,可统计出解析出来的语言符号的个数。

例如: 将如下字符串中的 单词 全部找出来 ---- 去掉空格和句点符号。

String str = "this is a test. Please test your code. After the test, you can release you program. ";

常规办法: 可以利用 String 类中的 split 方法,将每个单词(又称为Token,语言符号)或标点符号,分割存放到一个String[ ]中,然后针对数组循环,碰到那些符号的,跳过。

字符分析器:

import java.util.StringTokenizer;

public class Tester {

public static void main(String[] args) {

String str = "this is a test. Please test your code. After the test, you can release you program. ";

StringTokenizer token = new StringTokenizer(str, “. ,”); // 三种符号,作为分隔符

while(token.hasMoreTokens()){

String s = token.nextToken();

System.out.println(s);

}

}

}

在这里插入图片描述

3.2.5 正则表达式

正则表达式的特点:

  1. 位于java.util.regex 包中;

  2. 是一种可以用于模式匹配和替换的规范;

  3. 由普通的字符、特殊字符组成的文字模式;该模式用来描述在查找文字主体时待匹配的一个或多个字符串;

  4. 正则表达式将某个字符模式与所搜索的字符串进行匹配;

  5. 多用于在文本中搜索、替换、析出有价值的信息。例如:当你从网上爬取一些网页后,希望将网页中的有用信息摘取出来;

  6. 构成正则表达式的一些字符

在这里插入图片描述

常用的正则表达式!!

正则表达式的应用:

A. 模式类: java.util.regex 包中 Pattern

Pattern类提供了一个 compile() 类方法 ( 类名.方法名()

调用),用于编译一个正则表达式,然后初始化创建出一个模式对象。 例如: Pattern p =

Pattern.compile(regx); // regx 是一个正则表达式

B. 匹配类: java.util.regex 包中 Matcher

利用Pattern的对象 p.matcher(“要解析的字符串”) 来创建出一个 Matcher 的 对象 m。然后利用m.find()

和m.group()就可以解析出匹配正则表达式的字符串。

C. 使用Pattern、Matcher类及正则表达式,来解析数据

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class Tester {

public static void main(String[] args) {

Pattern p; //模式对象

Matcher m; //匹配对象

String regex = “(http://|www)\56?\w+\56{1}\w+\56{1}\p{Alpha}+”;

p = Pattern.compile(regex); //初始化模式对象

String s = “新浪:www.sina.cn,央视:http://www.cctv.com”;

m = p.matcher(s); //得到检索s的匹配对象m

while(m.find()) {

String str = m.group();

System.out.println(str);

}

}

}

运行结果:

在这里插入图片描述

最后

分享一些资料给大家,我觉得这些都是很有用的东西,大家也可以跟着来学习,查漏补缺。

《Java高级面试》

《Java高级架构知识》

《算法知识》

加入社区:https://bbs.youkuaiyun.com/forums/4304bb5a486d4c3ab8389e65ecb71ac0
图片描述](https://img-blog.csdnimg.cn/20210331154131735.png#pic_center)

最后

分享一些资料给大家,我觉得这些都是很有用的东西,大家也可以跟着来学习,查漏补缺。

《Java高级面试》

[外链图片转存中…(img-s7cunzoQ-1725674438549)]

《Java高级架构知识》

[外链图片转存中…(img-T07M3GKC-1725674438550)]

《算法知识》

[外链图片转存中…(img-yorW9x1g-1725674438550)]

加入社区:https://bbs.youkuaiyun.com/forums/4304bb5a486d4c3ab8389e65ecb71ac0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值