`

13.字符串

阅读更多

1.String对象不可变
string一旦创建则不可改变,任何对String的修改,实际是建立了一个全新的对象。

2.格式化输出
 Formatter类用法
 Formatter f = new Formatter(System.out);
 f.format("%-5.7s","hello");//左对齐最少显示5个字符,不足用空格补齐,最多显示7个字符。
f.format("%5d","hello");    //右对齐,显示五位数字,如果5.5d则会抛异常
f.format("%-5.7f","hello"); //左对齐,显示五位数字,多则四舍五入,少则补零

3.Formatter转换
d 整数型    c unicode字符  b Boolean值 
s String    f 浮点         e 浮点(科学计数)
x 整数(十六进制) h 散列码(十六进制) % 字符%

4.String.format
接受Formatter.format()一样的参数,返回一个串。

5.正则表达式
斜杠
\\\\ 前两个是正则斜杠 ,斜杠本身要转义,也得两个
\\d 表示一个数字,表示一个正则斜杠
\t 间隔(\u0009)
\n 换行(\u000A)
\r 回车(\u000D)
\d 数字[0-9]
\D 非数字[^0-9]
\s 空白字符[\t\n\f\r\x0B]
\S 非空白字符[^\t\n\r\f\x0B]
\w 单独字符[a-zA-Z0-9]
\W 非单独字符[^a-zA-Z0-9]
\f 换页符
\e Escape
\b 一个单词的边界
\B 一个非单词的边界
\G 前一个匹配的结束

^限制开头
^Hello 以Hello为开头字符

$限制结尾
Hello$ 以Hello为结尾字符

. 除\n以外任意一个单独字符
java.. java后除换行外任意两个字符

限制条件[]
[a-z]     条件限制在小写a to z范围中一个字符
[A-Z]     条件限制在大写A to Z范围中一个字符
[a-zA-Z] 条件限制在小写a to z或大写A to Z范围中一个字符
[0-9]     条件限制在小写0 to 9范围中一个字符
[0-9a-z] 条件限制在小写0 to 9或a to z范围中一个字符
[0-9[a-z]] 条件限制在小写0 to 9或a to z范围中一个字符(交集)

[]加入^后
[^a-z]     条件限制在非小写a to z范围中一个字符
[^A-Z]     条件限制在非大写A to Z范围中一个字符
[^a-zA-Z] 条件限制在非小写a to z或大写A to Z范围中一个字符
[^0-9]     条件限制在非小写0 to 9范围中一个字符
[^0-9a-z] 条件限制在非小写0 to 9或a to z范围中一个字符
[^0-9[a-z]] 条件限制在非小写0 to 9或a to z范围中一个字符(交集)

*特定字符出现0次以上
J*     0个以上J
.*     0个以上任意字符
J.*D     J与D之间0个以上任意字符

+特定字符出现1次以上
J+     1个以上J
.+     1个以上任意字符
J.+D     J与D之间1个以上任意字符

?特定字符出现0或一次
JA?     J或者JA出现

{a}特定字符出现指定次数
J{2}     JJ
{a,}特定字符出现a次以上
{a,b} 特定字符a个以上,b个以下

或|
A|B

()一个组合类型

量词

贪婪量词
发现尽可能多的匹配,先匹配整个串,如果匹配不上,去掉最后一个字符。
匹配到最大就停止

惰性量词?
和贪婪相反,先看第一个字符是不是匹配,然后在读入下一个字符。
发现尽可能少的匹配。但是保存所有匹配。

占有型+
只尝试匹配整个串,如果不产生匹配,不做进一步尝试。

Pattern和Matcher使用
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(text1); //匹配第一个串
matcher.reset(text2); //匹配第二个串
这有个组(Groups)的概念
A(B(C))D

String.spilt(String input);
String.spilt(String input,int n);//按分隔符input分成n份

以上匹配都是静态的字符串
还有从文件和输入读一行字符串,进行匹配。
输入输出到IO那章再详细解释。

 

分享到:
评论

相关推荐

    TWDH#Leetcode-From-Zero#13.字符串查找1

    13.字符串查找解:双指针法-同向public class Solution {* @return: return the indexpublic int st

    C++字符串完全指南.doc

    第一部分 字符串基础部分 2 1.1. 前言 2 1.2. 字符串基础 - ASCII, DBCS, Unicode 2 1.3. 字符串的存储 3 1.4. 字符串处理函数 3 1.5. C字符串函数大全 3 1.6. 字符串遍历 7 1.7. 再谈strxxx() 与_mbsxxx() 8 1.8. ...

    C#字符串操作

    1.获得汉字的区位码 2.unicode解码方式下的汉字码 3.unicode反解码为汉字 4.default方式反解码为汉字 5.取字符串长度 6.字符串相加 ...13、字符串格式化 13.1 格式化数字 13.2 格式化日期 13.3 格式化枚举

    PHP基础讲义pdf版含视频下载地址。

    13. 字符串面试题讲解 79 四、 数组 81 1. 数组概念 81 2. 数组创建方式详细探讨 83 3. 数组单元的增加修改与删除 85 4. 数组的for循环与foreach循环 87 5. 数组游标操作 88 6. list与each 91 7. 数组下标的效率探讨...

    创建一个字符串类

    创建一个字符串类,它应具有以下功能: 1. 生成一个空串; 2. 生成一个带初值的非空串; 3. 复制一个已有串; 4. 连接两个串(两个串对象连接、常量和串对象连接、串对象和常量连接); 5. 转换成char类型的串,...

    18.C#字符串和正则表达式参考手册 影印版

    C#字符串和正则表达式参考手册 目 录 第1章 系统处理文本的方式 1 1.1 .NET Framework 1 1.1.1 公共语言运行时 2 1.1.2 .NET Framework类库 3 1.2 文本是一种数据类型 4 1.2.1 C#的数据类型 5 1.2.2 字符和字符集 6 ...

    信奥赛c++程序算法篇100题

    1103. 字符串压缩 13 1104. 字符串解压 14 1105. 字符串连接 14 1106. 统计单词个数 15 1107. 求英文句子中的最长单词 15 1108. 正整数N转换成一个二进制数 16 1112. 查找子串并替换 17 1111. 找最长单词 17

    VB编程资源大全(源码 字符串)

    1,strs.zip 实现字节数组, 同c中的字符数组一样好用(6KB) 2,modules.zip 字符串处理的12个例子(13KB) 3,strings.zip 字符串处理函数(4KB) 4,stringfuncs.zip 字符串处理函数(9KB) 5,search&...

    TWDH#Leetcode-From-Zero#13.反转字符串中的单词 III1

    557. 反转字符串中的单词 IIIpublic String reverseWords(String s) {StringBuilder sb = new S

    c# 字符串操作类

    /// /// 字符串操作类 /// 1、GetStrArray(string str, char speater, bool ... /// 13、SplitMulti(string str, string splitstr)分割字符串 /// 14、SqlSafeString(string String, bool IsDel) /// 等操作

    C/C++:符串排序.rar(含完整注释)

    给定 n 个字符串,在这 n 个字符串中有相同的字符串,不同的字符串只有 num 个。要求首先输 入字符串的个数 n,然后输入 n 个字符串,将这 n 个字符串中 num 个不同的字符串按照字典序排序, 并输出每个字符串在这 n...

    VB编程资源大全(英文源码 字符串)

    1,strs.zip 实现字节数组, 同c中的字符数组一样好用(6KB)<END><br>2,modules.zip 字符串处理的12个例子(13KB)<END><br>3,strings.zip 字符串处理函数(4KB)<END><br>4,stringfuncs.zip 字符串处理函数(9...

    汇编语言实验字符串位置的查找

    以下几句是实现依次输入找到的字符串的位置 lea di,str1; l4: ;loopz l5. ;mov cl,[di] mov dl,byte ptr [di] cmp dl,0 jz l5 add dl,30h mov ah,02h int 21h mov dl,',' mov ah,02h int 21h inc ...

    被爱可被爱以字符串处理工具 1.7.1

    被爱可以字符串处理工具由中国被爱可以在线站长Bicyle开发,是一款字符串处理的绿色工具软件,它具有繁简体转换 、URL和HTML编码转换、字母大小写转换、邮件地址分组、半全角转换、区位码和ASCII码查询,WAP文档UTF-...

    java字符串操作大全

    13、concat() 连接两个字符串 14 、replace() 替换  它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:  String replace(char original,char replacement)  例如...

    13InstallShield内部库函数全集十三-字符串函数(中文版).rar

    13InstallShield内部库函数全集十三-字符串函数(中文版).rar

    字符串反转

    字符串反转 11223344 -> 44332211

    PTA 6-13 函数实现字符串逆序

    PTA 6-13 函数实现字符串逆序

    C++中英混合字符串截取

    13年(实习期间)飞娱互动有限公司面试游戏开发客户端/服务器端时的面试题的第一道编程题,当时就差这题没做出来,回去后想出来的。 截取一定长度的字符串,保证不把汉字截断。

    易语言字符串rot13算法

    易语言字符串rot13算法源码,字符串rot13算法,str_rot13

Global site tag (gtag.js) - Google Analytics