java - 验证 - 在 java 字符串中使用正则表达式和修剪

标签 java regex string

我想这不是问题,而是验证,但我已经创建了一个 Java 应用程序来通过 Linux 列出可用网络,我只是想看看是否有人知道更好/更有效的方法来做到这一点。

它在我的机器上运行良好,但我的目标是让它在“能力”较差、可用功率也有限的机器上运行。

本质上,我有终端的输出,并且我按以下方式处理字符串。我对正则表达式相当陌生,所以我想知道是否有更好/更有效的方法?

String t = s.replace("SSID:", "");
t = t.replace("\"", "");
t = t.trim();

提前致谢!

最佳答案

正如其他人所说,这看起来像是过早优化的情况。我只是想解决您对 replace() 和正则表达式的(明显)误解。

replace() 方法将搜索词视为精确字符串,而不是正则表达式。 replaceAll() 负责正则表达式匹配;有了它,您可以将两个 replace() 操作合并为一个,如下所示:

String t = s.replaceAll("\"|SSID:", "").trim();

您甚至可以消除 trim() 调用并使用 replaceAll() 执行所有操作:

String t = s.replaceAll("\"|SSID:|^\\s+|\\s+$", "");

但是,仅仅因为这一切都在一次操作中完成,并不一定意味着它的效率更高,甚至可能效率较低。但在这种情况下,效率上的任何差异都会非常小,您甚至不会注意到它。你不妨坚持现有的。

关于java - 验证 - 在 java 字符串中使用正则表达式和修剪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5473194/

相关文章:

java - 运行/调试配置以红色突出显示普通应用程序的选定主类

ruby - 捕获多个匹配项的最佳方法

java - Java 中的 String 方法是否在 O(1) 时间内运行?

java - 为什么下面的代码段不输出9而两次输出0?

java - java中计算两个int的平均值并转换为double

java - SWIG (v1.3.29) 生成的 C++ 到 Java Vector 类无法正常运行

javascript - javascript替换字符串(正则表达式)

javascript - 正则表达式查找 = 之后的字符串

c# - 字符串格式和十六进制字符

Python:找到最接近的字符串(从列表中)到另一个字符串