Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 拆分字符序列但保留字符串_Java_Android_Regex - Fatal编程技术网

Java 拆分字符序列但保留字符串

Java 拆分字符序列但保留字符串,java,android,regex,Java,Android,Regex,我办公室的一个程序员制作了一个有点迟钝的数据库,所以我遇到了一个问题。 我有一个字符串,我需要分成4部分,这样我可以从索引中读取数据 我得到的字符串是: aimer | 4-28-2-2.mp3=12### 我想得到的阵列是: 艾默 4-28-2-2.mp3 十二, ### 我当前使用的Java代码: String assignmentRaw = "aimer|4-28-2-2.mp3=12###"; String[] assignmentSplit = assignmentRaw.split(

我办公室的一个程序员制作了一个有点迟钝的数据库,所以我遇到了一个问题。 我有一个字符串,我需要分成4部分,这样我可以从索引中读取数据

我得到的字符串是:

aimer | 4-28-2-2.mp3=12###

我想得到的阵列是:

  • 艾默
  • 4-28-2-2.mp3
  • 十二,
  • ###
  • 我当前使用的Java代码:

    String assignmentRaw = "aimer|4-28-2-2.mp3=12###";
    String[] assignmentSplit = assignmentRaw.split("\\||=");
    
    for(String assignment : assignmentSplit)
        Log.i(ElkeDagApplication.DEBUG_TAG, assignment);
    
    并返回:

  • 艾默
  • 4-28-2-2.mp3
  • 十二,###

  • 如果最后一次拆分的要求是:左边是一个数字,右边是#,则可以执行此操作

    String[] assignmentSplit = assignmentRaw.split("\\||=|(?<=\\d)(?=#)");
    

    String[]assignmentSplit=assignmentRaw.split(“\\||=|(?)在数字序列中总是有两个数字吗?@ McCalx,不,这个数字可以是任何长度。所以……3的第一部分可以是任意长度的。第二部分也可以是任意长度的,或者它是固定的吗?是否有其他的约束,例如第一部分总是由只有数字组成的?什么?t永远是一个数字,第二部分永远是一个#的序列。这样的话:43###,2###,345#。谢谢你,你的解决方案很完美!