我想这不是问题,而是验证,但我已经创建了一个 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/