我在java中寻找一个解决方案,允许我拆分像这样的字符串" MM / dd / yyyy",而不是基于" /&#34 ;斜线,但基于" M"的变化到" d"并且来自" d"到" y"?
原因是我可能还需要使用这个根本没有分隔符的逻辑来分割字符串,例如" yyMMdd"。注意:我正在寻找拆分模式字符串本身,而不是一些遵循这些模式的实际日期字符串。
有什么想法吗?
答案 0 :(得分:1)
鉴于你只想分割模式 - yy/MM/dd
或任何其他模式,而不是格式化为这些模式的实际日期,我宁愿在这里使用Matcher
,而不是split()
。
String patternString = "yy/MM/dd";
Pattern pattern = Pattern.compile("y+|M+|d+");
Matcher matcher = pattern.matcher(patternString);
while (matcher.find()) {
System.out.println(matcher.group());
}
此解决方案不是拆分某个未知分隔符,而是找到y
或M
或d
的序列(在任何模式中,这些将仅按顺序进行)。
答案 1 :(得分:0)
如果您始终知道格式,例如yyMMdd
,您可以在每个字符上进行拆分,并假设每个字符都是您想要的字符。要执行此操作,您将使用不带分隔符的拆分:split('')