我有这个字符串:
}1311202013112020607169018}1611202016112020}1411202014112020626948615}1511202015112020}1811202018112020
为了让你明白,我会这样把它分开:
}13112020 13112020607169018 }16112020 16112020 }14112020 14112020626948615 }15112020 15112020
}18112020 181120207834
我要做的是在表示日期的'}'字符后面加上前八个字符(数字)。其他我根本不需要的号码。
我用for循环尝试了很多不同的方法,这是最后一段代码。
for (int i = 0; i < Char.length; i++) {
if(Char[i] == '}') {
newString = newString + Char[i + 6];
}
}
所以我试着用这样的线来结束
}13112020}16112020}14112020}15112020}18112020
另外,如果有人能给我一个提示,告诉我如何创建(如果可能的话)x个新字符串,每个字符串都是一个不同的名称,只包含其中一个日期。
谢谢您!
4条答案
按热度按时间rur96b6h1#
据我所知,你需要这样的东西
fzsnzjdm2#
我们可以在这里尝试使用正则表达式字符串拆分:
这张照片:
正则表达式表示在字符串中的任意点拆分,其中:
编辑:
如果您接受了答案,那么您似乎真的需要以下输出:
为此,我建议使用一个简单的regex替换:
这张照片:
dm7nw8vv3#
您可以利用regex查找与您的模式匹配的所有子字符串。这个例子中的正则表达式是
"\}[0-9]{8}"
(您在右大括号后面说6个字符,但您的示例显示了8个字符)。在java中,您可以使用
Pattern
以及Matcher
要编译此正则表达式并查找所有匹配的子字符串:py49o6xq4#
一个简单的方法: