0

如何从字符串中获取部分数据:

csvFile = "c:/Users//PHV/01Surname local.csv" 

我需要从上面的字符串中提取姓氏

UPD

你怎么想的?

    File f = new File(csvFile);
    String[] parts = f.getName().split(" ");
    String strParts = new String(parts[0]); 
    String finFileName = strParts.substring(2, strParts.length());
4

2 回答 2

2

你需要一个正则表达式。就像是:

Pattern p = Pattern.compile("^.*/[0-9]+(a-zA-Z)+ .*");
Matcher m = p.matcher(csvFile);
String surname;
if (m.matches()) {
   surname = m.group(1);
} else {
   System.out.println("filename seems malformed: " + csvFile);
}

更新:这是一个关于正则表达式的教程,但不确定它是最好的。我认为它必须为你工作:http: //docs.oracle.com/javase/tutorial/essential/regex/

于 2013-07-31T13:57:32.783 回答
1

我不确定我是否理解您的问题,但我假设您想提取“姓氏”。如果正确,请尝试以下操作:

String surname = csvFile.substring(csvFile.lastIndexOf("/") + 3, csvFile.lastIndexOf(" "));
于 2013-07-31T14:14:01.280 回答