我有一个脚本,其中我必须从字符串中提取字符串,获取最后一个索引,获得字符串中的第n个字符,比较,字符串包含一个字符串或不等等等我想了解在java中对字符串进行这种操作的最佳方法/实践。我是否应该始终使用StringBuilder
来执行上述操作。在少数情况下,我使用regular expressions
来查找字符串。 那我该用什么? 情景是:必须找到负载的比较和索引。谢谢。!有效的方法来执行各种字符串操作
例如:
String name = "application/octet-stream; name=\"2012-04-20.tar.gz\""; // get 2012-04-20.tar.gz
Pattern pattern = Pattern.compile("\"(.*?)\"");
Matcher matcher = pattern.matcher(name);
if (matcher.find()) {
System.out.println(matcher.group(1));
}
String date = " Number 4, December 2013";
String year = date.substring(date.lastIndexOf(" ")+1);
String month = date.substring(date.indexOf(',')+2,date.indexOf(" ",date.indexOf(',')+2));
date = year+getMonth(month)+"01";
System.out.println(date);
上面一样,字符串中字符串的许多其他提取。
对于特定的应用程序它总是一样的格式吗?你有没有考虑过StringTokenizer? http://docs.oracle.com/javase/7/docs/api/java/util/StringTokenizer.html – Ron
不!还有其他4 5种格式。这些格式被处理数千次!不,我没考虑过字符串标记器。这会有助于提高效率吗? –
它说:'StringTokenizer是一个遗留类,为了兼容性原因保留,尽管它在新代码中的使用不受欢迎。建议任何寻求此功能的人都使用String或java.util.regex包的拆分方法。' –