Java 如何从字符串中选取特定部分?

Java 如何从字符串中选取特定部分?,java,android,Java,Android,我想将BBB和DDD之间的内容挑选到字符串数组String[]ss中 这就是“你好”和“世界” 有什么办法吗?使用函数substringint-beginIndex,int-endIndex。 如果可以硬编码索引。请使用String.splitBBB和String.splitDDD e、 g: String s= "aaaaaaaaaaaBBBhelloDDDeeeeBBBworldDDDffffff"; 然后使用splitDDD并获取第一个索引: String[] splitByBBB =

我想将BBB和DDD之间的内容挑选到字符串数组String[]ss中 这就是“你好”和“世界”


有什么办法吗?

使用函数substringint-beginIndex,int-endIndex。 如果可以硬编码索引。

请使用String.splitBBB和String.splitDDD

e、 g:

String s= "aaaaaaaaaaaBBBhelloDDDeeeeBBBworldDDDffffff";
然后使用splitDDD并获取第一个索引:

String[] splitByBBB = s.split( "BBB" );
/*
in your String: 
splitByBBB[0] is "aaaaaaaaaaa"
splitByBBB[1] is "helloDDDeeee"
splitByBBB[2] is "worldDDDffffff"
*/

您可以使用模式匹配:

String[] array = s.split("BBB|DDD");

是的,有。Regex将以一种相当简单的方式来实现。但是在那之前,我们能看看你做了什么,你面临的问题吗?你尝试了什么?这似乎是正则表达式最直接的用法
String[] array = s.split("BBB|DDD");
 String s= "aaaaaaaaaaaBBBhelloDDDeeeeBBBworldDDDffffff";
        Pattern p = Pattern.compile("BBB(.+?)DDD",Pattern.DOTALL);
        Matcher m = p.matcher(s);
        ArrayList<String> sa = new ArrayList<String>();
        while (m.find()) {
          sa.add(m.group(1));
        }
        System.out.println(sa);