Java String与正则表达式操作详解

需积分: 9 0 下载量 4 浏览量 更新于2024-09-05 收藏 6KB TXT 举报
"这篇文档主要介绍了Java中的字符串处理和正则表达式,涵盖了字符串类`String`的基本使用以及正则表达式的规则和功能。" 在Java编程语言中,字符串是常用于处理文本数据的重要工具。`String` 类是Java `java.lang` 包中的核心类,这意味着它自动被引入到每个Java程序中,无需额外导入。`String` 对象表示不可变的字符序列,一旦创建就不能修改。以下是对`String`类的一些关键点: 1. **构造方法**: - `String str = "abc";` 创建一个包含字符序列"abc"的字符串对象。 - `String str = new String();` 创建一个空字符串对象。 - `String str = new String("abc");` 通过传入字符序列创建字符串对象。 - `String str = new String(char[] value);` 从字符数组创建字符串。 - `String str = new String(char[] value, int offset, int count);` 从字符数组的特定部分创建字符串。 2. **常用方法**: - `charAt(int index)`:返回指定索引位置的字符。 - `codePointAt(int index)`:返回指定索引位置的Unicode代码点。 - `compareTo(String anotherString)`:根据字典顺序比较两个字符串。 - `concat(String str)`:将指定字符串连接到当前字符串的末尾。 - `contains(CharSequence seq)`:判断字符串是否包含指定的字符序列。 - `format(String format, Object... args)`:使用指定格式和参数创建格式化后的字符串。 - `getBytes()`:使用默认字符集将字符串编码为字节数组。 - `toCharArray()`:将字符串转换为字符数组。 - `length()`:返回字符串的长度。 - `indexOf(String str)`:返回子字符串在原字符串中第一次出现的索引。 - `lastIndexOf(String str)`:返回子字符串在原字符串中最后一次出现的索引。 - `lastIndexOf(String str, int fromIndex)`:从指定索引开始向后搜索,返回子字符串的最后一次出现的索引。 - `replace(CharSequence target, CharSequence replacement)`:用新的字符序列替换原字符串中与指定字符序列匹配的所有子串。 - `replaceAll(String regex, String replacement)`:使用正则表达式匹配并替换所有匹配的子串。 - `replaceFirst(String regex, String replacement)`:只替换第一个匹配正则表达式的子串。 正则表达式(Regex)是用于匹配字符串的强大工具,它可以执行复杂的文本匹配和搜索替换操作。正则表达式的规则包括: - `[abc]`:匹配字符'a'、'b'或'c'中的任意一个。 - `[^abc]`:匹配任何不在'a'、'b'和'c'中的字符。 - `[a-zA-Z]`:匹配任意大小写的字母。 - `[a-zA-Z&&[^bc]]`:匹配任何字母,但排除'b'和'c'。 - `[0-9]`:匹配0到9之间的数字。 在Java中,可以使用`Pattern`和`Matcher`类来处理正则表达式,执行匹配、查找、替换等操作。例如,`Pattern.compile(regex)`用于编译正则表达式,`Matcher.matches()`检查整个字符串是否匹配,`Matcher.find()`查找第一个匹配项,`Matcher.replaceAll(replacement)`和`Matcher.replaceFirst(replacement)`则进行替换操作。 通过结合使用`String`类的方法和正则表达式,开发者可以高效地处理和验证文本数据,实现复杂的文本分析和处理任务。在实际编程中,理解并熟练运用这些概念对于处理字符串相关的编程问题至关重要。

(DEFUN RESPONSE_ACTION( DD DAYS0921 ABSOLUTETIME0921 / BKEY LOOP ) (setq LOOP T) (while (and LOOP ) (COND ((= 10 DD ) (ALERT "试用有时长限制,先看视频再操作,超过时长,插件会自动损毁。请根据B站视频操作\nhttps://space.bilibili.com/1226009502\n如果遇到问题,请联系淘宝店铺【画图神器】提供免费技术支持\n如果插件满足您的需求,请购买正版支持一下,谢谢。" ) (PRINC "\nhttps://space.bilibili.com/1226009502" ) (if (NULL (TIMECHECK DAYS0921 ABSOLUTETIME0921 ) ) (PROGN (ALERT "\n试用时间到,如果插件满足您的需求,请联系淘宝【店铺】画图神器购买正版支持一下,谢谢。" ) (PRINC "\n试用时间到,如果插件满足您的需求,请联系淘宝【店铺】画图神器购买正版支持一下,谢谢。" ) (setq DD (POPUP_INTERFACE )) )(PROGN (vlax-ldata-put "CZL" "USERKEY" (setq BKEY "iq27p0j") ) (VL-REGISTRY-WRITE ADRRESREGESTER "key" BKEY ) (setq LOOP nil) )) ) ((OR (= 1 DD ) (= 11 DD ) ) (setq BKEY (NTH 1 VALUE0919 )) (if (OR (NULL BKEY ) (WCMATCH BKEY ",* *,*画图神器*" ) ) (PROGN (setq BKEY "函数出错") )) (vlax-ldata-put "CZL" "USERKEY" BKEY ) (VL-REGISTRY-WRITE ADRRESREGESTER "key" BKEY ) (if (/= BKEY (vlax-ldata-get "CZL" "KEY" ) ) (PROGN (ALERT "\n密码错误,如有疑问,欢迎联系淘宝【店铺】画图神器。" ) (PRINC "\n密码错误,如有疑问,欢迎联系淘宝【店铺】画图神器。" ) (setq DD (POPUP_INTERFACE )) )(PROGN (ALERT "\n密码正确1\n" ) (PRINC "\n密码正确1,激活成功!\n" ) (setq LOOP nil) )) (PRINC ) ) ((= 0 DD ) (PRINC "\n已取消,如有疑问,欢迎联系淘宝【店铺】画图神器。" ) (EXIT ) ) ((= 100 DD ) (PRINC "\n操作视频" ) (PRINC "\n如果浏览器无响应,可手动前往:\nhttps://space.bilibili.com/1226009502\n******" ) (startapp "explorer.exe" "https://space.bilibili.com/1226009502" ) (setq DD (POPUP_INTERFACE )) ) ) ) )

2023-07-15 上传