gpt4 book ai didi

java - 在出现 n 个数字后拆分字符串

转载 作者:行者123 更新时间:2023-11-30 11:08:18 25 4
gpt4 key购买 nike

我在这里解析一些文件夹名称。我有一个程序可以列出文件夹的子文件夹并解析文件夹名称。

例如,一个文件夹可以这样命名:

"Folder.Name.1234.Some.Info.Here-ToBeParsed"

我想解析它所以名称将是“文件夹名称”。目前,我首先使用 string.replaceAll() 来去除特殊字符,然后是这个 4 位数序列。我想在那一点上拆分字符串。我怎样才能做到这一点?

目前我的代码看起来像这样:

// Parsing string if regex p matches folder's name
if(b) {
//System.out.println("Folder: \" " + name + "\" contains special characters.");
String result = name.replaceAll("[\\p{P}\\p{S}]", " "); // Getting rid of all punctuations and symbols.
//System.out.println("Parsed: " + name + " > " + result);

// If string matches regex p2
if(b2) {
//System.out.println("Folder: \" " + result + "\" contains release year.");
String parsed_name[] = result.split("20"); // This is the line i would like to split when 4-digits in row occur.
//System.out.println("Parsed: " + result + " > " + parsed_name[0]);
movieNames.add(parsed_name[0]);
}

或者也许有更简单的方法来做到这一点?提前致谢!

最佳答案

你应该像这样保持简单:

String name = "Folder.Name.1234.Some.Info.Here-ToBeParsed";
String repl = name.replaceFirst( "\\.\\d{4}.*", "" ).
replaceAll( "[\\p{P}\\p{S}&&[^']]+", " " );
//=> Folder Name
  • replaceFirst 正在删除点和 4 位数字之后的所有内容
  • replaceAll 将所有标点符号和空格(撇号除外)替换为单个空格

关于java - 在出现 n 个数字后拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28614198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com