`

字符串

阅读更多

 

java.util.regex.Pattern

 


\\ 反斜线字符
\n 换行符('\u000A')
\r 回车符('\u000D')


字符类运算符的优先级如下所示,按从最高到最低的顺序排列:
1     字面值转义     \x
2     分组 [...]
3     范围 a-z
4     并集 [a-e][i-u]
5     交集 [a-z&&[aeiou]]

[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)


捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B(C))) 中,存在四个这样的组:
1     ((A)(B(C)))
2     \A
3     (B(C))
4     (C)
组0始终代表整个表达式。 组引用\n


.  任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]


^ 行的开头
$ 行的结尾
\b 单词边界
\B 非单词边界
\A 输入的开头
\G 上一个匹配的结尾
\Z 输入的结尾,仅用于最后的结束符(如果有的话)
\z 输入的结尾


X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次

XY   X后跟 Y
X|Y  X或Y
(X)  X作为捕获组  

字段
public static final int DOTALL 启动dotall模式,表达式 . 可以匹配任何字符,包括行结束符。默认情况下,此表达式不匹配行结束符。
public static final int MULTILINE 启用多行模式 表达式 ^ 和 $ 仅分别在行结束符前后匹配,或者在输入序列的结尾处匹配。默认情况下,这些表达式仅在整个输入序列的开头和结尾处匹配。

public static Pattern compile(String regex)
public static Pattern compile(String regex, int flags)

public static boolean matches(String regex, CharSequence input)

public Matcher matcher(CharSequence input) 围绕模式匹配input。
public String[] split(CharSequence input, int limit) 围绕模式的匹配拆分input。
limit>0,返回数组的长度不大于limit
limit<0,数组可以为任意长度
limit=0,数组可以为任意长度,并且将丢弃尾部空字符串。

java.util.regex.Matcher

public boolean matches()
public boolean find()
public int start() 上次匹配的初始索引
public int end() 上次匹配字串的偏移量
public Matcher reset() 重置匹配器
Matcher usePattern(Pattern newPattern)  更改此 Matcher 用于查找匹配项的 Pattern

 

String 为final, 不可变可共享 

String(byte[] bytes, int offset, int length, String charsetName)
String(char[] value, int offset, int count)
 

  

startsWith(String prefix)    endsWith(String suffix)  

int indexOf(int ch)、int lastIndexOf(int ch)、int indexOf(String str)、int lastIndexOf(String str)

String substring(int beginIndex) 、String substring(int beginIndex, int endIndex)

 

matches(String regex)  == Pattern.matches(regex, str)

 

String replace(char old, char new)    String replace(str old, str new)

String replaceFirst(String regex, String replacement) 

String replaceAll(String regex, String replacement)

== Pattern.compile(regex).matcher(str).replaceAll(replacement)

 

String[] split(String regex,int limit)   limit模式应用的次数。负数表示不限次数。     

    "boo:and:foo" 被正则表达式"o" 划分: { "b", "", ":and:f" }

toUpperCase()、toLowerCase()、trim()、concat(str)、length()、isEmpty() 、equalsIgnoreCase(str) toCharArray()、getBytes()、getBytes(charset)

charAt(int index)、compareTo(str) 、int hashCode()  、equals(str) 

static String format(String format, Object... args)

static String valueOf(xxx) 如果参数为 null,则字符串等于 "null";否则,返回 obj.toString() 的值。

intern() 和字符串常量池有关   

final StringBuffer  线程安全的可变字符序列。  不可能继承String

StringBuffer(str)、StringBuffer() 

 append(T x)

 delete(int start, int end)

 insert(int offset, T x)

 reverse()

final StringBuilder 和StringBuffer的区别:不保证同步

分享到:
评论

相关推荐

    使用一个字符串分割另一个字符串

    * 使用一个字符串分割另一个字符串 * * @param delimiter 边界上的分隔字符 * @param haystack 输入的字符串 * @param out 输出的字符串指针 * @return 分割成了多少个成员 */ int explode(char *delimiter, ...

    java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节;

    java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java ...

    C#判断字符串是否存在字母及字符串中字符的替换实例

    本文实例讲述了C#判断字符串是否存在字母及字符串中字符的替换的方法。分享给大家供大家参考。具体实现方法如下: 首先要添加对命名空间“using System.Text.RegularExpressions;”的引用 下面以一个字符串为例: ...

    JS中判断某个字符串是否包含另一个字符串的五种方法

    indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。 方法二:match() var str = "123" var reg = RegExp(/3/); if(str.match(reg)){ //包含; } ...

    Delphi 7.0 After提取字符串中指定子字符串后的字符串.rar

    Delphi 7.0 提取字符串中指定子字符串后的字符串,这个平时在字符处理时候使用几率也挺高的,获取指定字符串后面的字符串,比如获取扩展名等也可以用此方法,本例中要用到After函数,测试时,当单击按钮时,执行以下...

    字符串的对比与替换

    编写程序:从键盘上输入一个包含10个字符的字符串,把该字符串与程序中给定的字符串("bacdbcabca") //依次比较,统计两个字符串对应字符相等的数目。然后输出从键盘上输入的字符串, //并把两个字符串中对应字符不...

    c#正则表达式截取指定字符串之间的字符串。类文件直接用就可以了~

    给写了2个方法,一个是直接截取单个需要的字符串,比如字符串string a="ab123456",我只需要提取3,那么就是单独截取就可以了,从2开始到4结束就行。 第二个是把所有的符合条件的字符串都截取出来,提取出来,比如...

    javascript实现的字符串与十六进制表示字符串相互转换方法

    本文实例讲述了javascript实现的字符串与十六进制表示字符串相互转换方法。分享给大家供大家参考。具体如下: 之所以写这个,是因为发现SQL注入和XSS中经常利用十六进制表示的字符串,比如 SELECT CONCAT(0x68656c6...

    C#字符串删除指定字符串|字符串删除子字符串

    C#字符串删除指定字符串|C#字符串删除子字符串

    C++常用字符串分割方法实例汇总

    本文实例汇总了C++常用字符串分割方法,分享给大家供大家参考。具体分析如下: 我们在编程的时候经常会碰到字符串分割的问题,这里总结下,也方便我们以后查询使用。 一、用strtok函数进行字符串分割 原型: char *...

    详解C++ string常用截取字符串方法

    string常用截取字符串方法有很多,但是配合使用以下两种,基本都能满足要求: find(string strSub, npos); find_last_of(string strSub, npos); 其中strSub是需要寻找的子字符串,npos为查找起始位置。找到返回子...

    华为机试题:压缩字符串

    通过键盘输入一串小写字母(a~z)组成的字符串,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。 压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"。 要求实现...

    MATLAB代码示例,用于将一个字符串添加到字符串数组的末尾(附详细步骤).txt

    这个代码可以添加一个新的字符串到已有的字符串数组中,并确保不会重复添加相同的字符串。具体来说,它首先创建了一个包含3个字符串的字符串数组`strArray`,然后定义了一个新的字符串`newStr`。接着,使用`ismember...

    PB POWERBUILDER 字符串 数组 相互 转换 转化

    |PowerBuilder 数组字符串相互转化 天津 李华锋 * * | | * *PowerBuilder 数组字符串相互转化 完全免费 * * | | * *如果你将这个程序放在你的网站上,我希望你能同时加上本站的链接 | | * | * | * *老字符串转数组...

    C语言 不使用strcat函数实现连接两个字符串功能代码

    字符串连接就是将一个字符串连接到另一个字符串的末尾,使其组合成一个新的字符串,在字符串处理函数中,strcat 函数具有字符串连接功能。下面是用C语言实现不使用是strcat 函数实现连接两个字符串的功能。 源代码:...

    控制台应用程序,接受字符串大于3的字符串并实现一些功能

    编写控制台应用程序,接受长度大于3的字符串,完成以下功能: 1:输出字符串长度 2:输出字符串中第一个出现字母a的位置 3:在字符串的第3个字符后面插入字符串“hello”,输出新字符串. 4:将字符串“hello”替换为...

    MATLAB字符串数组 基本规则 (1)所有字符串都用单引号(英文状态下输入)括起来; (2)将字符串当作一个行向量,每个元素对

    字符串数组 matlabMATLAB字符串数组 基本规则 (1)所有字符串都用单引号(英文状态下输入)括起来; (2)将字符串当作一个行向量,每个元素对应一个字符,其标识方法和数值向量相同。 (3)size指令获得串数组的大小。串...

    字符串的比较

    按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Unicode 值。将此 String 对象表示的字符序列与参数字符串所表示的字符序列进行比较。如果按字典顺序此 String 对象在参数字符串之前,则比较结果为一个负...

    封装一个,完善字符串,字符串

     必须实现如下操作,字符串比较、求串的长度、判断串是否为空、将串置空、字符串赋值(包括两个字符串类复制,一个字符串赋值到CmyString对象)、求字符串中的一个字符或改变字符串中的一个字符(采用重载[]),...

    python实现字符串中字符分类及个数统计

    输入一个字符串,分别统计出其中英文字母、空格、数字和其它字符的个数,本文给出解决方法 编写思路: 1、字符串的遍历,和列表类似,可以把字符串当做元素都是一个字符的一个字符列表,它可以和列表有公共的语法 2...

Global site tag (gtag.js) - Google Analytics