我有一个字符串:
String modulesToUpdate = "potato:module1,tomato:module2";
我想从中得到它:
module1 module2
首先,我必须用“,”然后用“:”拆分它
所以,我这样做了:
String files[] = modulesToUpdate.split(","); for(String file: files){ String f[] = file.split(":"); for(int i=0; i<f.length; i++){ System.out.println(f[1]) } }
这样可行,但循环中的循环并不优雅.
我正试图用流做同样的事情.
所以,我这样做了:
Stream.of(modulesToUpdate) .map(line -> line.split(",")) .flatMap(Arrays::stream) .flatMap(Pattern.compile(":")::splitAsStream) .forEach(f-> System.out.println(f.toString().trim()));
输出:
potato module1 tomato module2
如何减少/过滤它只获得:
module1 module2