【发布时间】:2013-11-13 20:53:45
【问题描述】:
确切地说,我正在与一些非常老的 Java. 1.3 合作。
我正在尝试通过删除非字母字符(标点符号和数字等)来清理一些 String 输入
通常我会这样做:
String.replaceAll("[^A-Za-z]", "");
但是,.replaceAll() 是在Java 1.4 中引入的!所以它不会编译! http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceAll(java.lang.String, java.lang.String)
在Java 1.4 之前我们是如何做到这一点的?
【问题讨论】:
-
@SotiriosDelimanolis:我的职业生涯始于 Java 1.2,所以很少。
-
@SotiriosDelimanolis Java 1.3 存在。我还活着。所以是的;)。我认为一个更好的问题是:“在 Java 1.4 存在之前,stackoverflow 上的任何人都还活着吗?”
-
剥夺了我信赖的
replaceAll()方法,如果是我,我会遍历String的toCharArray()版本并构建一个新字符串,跳过字母表之外的任何字符范围 -
@StormeHawke 这实际上可能比正则表达式 replaceAll 快。您应该将此作为答案发布。
-
@Cruncher 我想有人已经抓住了我的想法。不用担心,问题已得到解答