java – 在char之间拆分字符串
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 在char之间拆分字符串,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2588字,纯文字阅读大概需要4分钟。
内容图文
我想在分隔符上拆分一个String.
示例字符串:
String str="ABCD/12346567899887455422DEFG/15479897445698742322141PQRS/141455798951";
现在我想要像我想要的字符串ABCD / 12346567899887455422,DEFG / 15479897445698742322141
>之前只有4个字符/
>之后/任意数量的字符数字和字母.
更新:
我需要前4个字符的唯一时间是在显示分隔符后,因为字符串可能包含字母或数字…
我的代码尝试:
public class StringReq {
public static void main(String[] args) {
String str = "BONL/1234567890123456789CORT/123456789012345678901234567890HOLD/123456789012345678901234567890INTC/123456789012345678901234567890OTHR/123456789012345678901234567890PHOB/123456789012345678901234567890PHON/123456789012345678901234567890REPA/123456789012345678901234567890SDVA/123456789012345678901234567890TELI/123456789012345678901234567890";
testSplitStrings(str);
}
public static void testSplitStrings(String path) {
System.out.println("splitting of sprint starts \n");
String[] codeDesc = path.split("/");
String[] codeVal = new String[codeDesc.length];
for (int i = 0; i < codeDesc.length; i++) {
codeVal[i] = codeDesc[i].substring(codeDesc[i].length() - 4,
codeDesc[i].length());
System.out.println("line" + i + "==> " + codeDesc[i] + "\n");
}
for (int i = 0; i < codeVal.length - 1; i++) {
System.out.println(codeVal[i]);
}
System.out.println("splitting of sprint ends");
}
}
解决方法:
您声称在/可以出现数字和字母后,但在您的示例中,我看不到任何字母应该包含在/后的结果中.
因此,基于该假设,您可以简单地拆分前面有数字的位置和后面的A-Z字符.
为此,您可以使用正在使用look-around机制的正则表达式进行拆分,例如str.split(“(?< = [0-9])(?= [A-Z])”) 演示:
String str = "BONL/1234567890123456789CORT/123456789012345678901234567890HOLD/123456789012345678901234567890INTC/123456789012345678901234567890OTHR/123456789012345678901234567890PHOB/123456789012345678901234567890PHON/123456789012345678901234567890REPA/123456789012345678901234567890SDVA/123456789012345678901234567890TELI/123456789012345678901234567890";
for (String s : str.split("(?<=[0-9])(?=[A-Z])"))
System.out.println(s);
输出:
BONL/1234567890123456789
CORT/123456789012345678901234567890
HOLD/123456789012345678901234567890
INTC/123456789012345678901234567890
OTHR/123456789012345678901234567890
PHOB/123456789012345678901234567890
PHON/123456789012345678901234567890
REPA/123456789012345678901234567890
SDVA/123456789012345678901234567890
TELI/123456789012345678901234567890
如果你的字母实际上可以出现在第二部分(在/之后),那么你可以使用split来尝试找到有四个字母字符的地方和/之后像split(“(?= [AZ] {4} /)”) (假设您至少使用Java 8,如果不是,则需要在字符串的开头手动排除拆分的情况,例如在正则表达式的开头添加(?!^)或(?< =.)) .
内容总结
以上是互联网集市为您收集整理的java – 在char之间拆分字符串全部内容,希望文章能够帮你解决java – 在char之间拆分字符串所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。