我办公室的一位程序员制作了一个有点迟钝的数据库,所以我遇到了一个问题。 我有一个字符串,需要将其分成 4 部分,以便我可以从索引中读取数据。
我得到的字符串是这样的:
aimer|4-28-2-2.mp3=12###
我想要取回的数组是:
- aimer
- 4-28-2-2.mp3
- 12
- ###
我当前使用的Java代码:
String assignmentRaw = "aimer|4-28-2-2.mp3=12###";
String[] assignmentSplit = assignmentRaw.split("\\||=");
for(String assignment : assignmentSplit)
Log.i(ElkeDagApplication.DEBUG_TAG, assignment);
并返回:
- aimer
- 4-28-2-2.mp3
- 12###
最佳答案
如果最后一次分割的要求是:左边是数字,右边是#,你可以这样做
String[] assignmentSplit = assignmentRaw.split("\\||=|(?<=\\d)(?=#)");
(?<=\\d)
是 lookbehind assertion检查左侧的数字
(?=#)
是 lookahead assertion检查右侧是否有“#”
关于java - 分割字符序列但保留字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13377566/