如何在Java中拆分字符串
我有 String = March2022
我想将其分成两个词 March 和 2022,但 March 一词不断变化,具体取决于月份(有时是 4 月或 6 月)以及年份(有时是 2023 或 2024),我该如何将其拆分为
String month = March
String year = 2022
或
String month = April
String year = 2024
提前感谢
我尝试过
month.split("\[0-9\]")\[0\];
year.split("\[A-z\]")\[0\];
但没有工作
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您不需要拆分代码(带有分离器),而需要匹配的代码
You don't need a splitting code (with separator), but a matching one
如果我理解正确的话,这就是您正在寻找的:
If I understand you correctly this is what you are looking for:
您可以使用常规的表格来捕获月份的名称和年份:
您可以在此处阅读更多文档:
You can use a regular expresion to capture the month name and year:
You can read further documentation here: https://www.w3schools.com/java/java_regex.asp
我想指出的是,这里没有真正的正则表达式。
这将“将“ 2022年3月”分为“ 3月”和“ 2022”或“ 2022年”或“ 11月2023年”,为“ 11月”和“ 2023”或“ 2023”或“ 5月2024年”,到“ 5月”和“ 2024”等。
如果您不关心” 9999年“问题,您也可以做到:
尽管如果字符串为空,或者只包含一个月,并且一个月短于4个字符(或者,通常,如果字符串短于4个字符)。
I would just like to point out that there's no real need for regular expressions here.
This will split "March2022" into "March" and "2022" or "November2023" into "November" and "2023" or "May2024" into "May" and "2024", etc.
If you don't care about the "Year 9999" problem, you can also just do:
Although this will throw if the string is empty, or only contains the month and the month is shorter than 4 characters (or, generally, if the string is shorter than 4 characters).