给定一个模式,我们可以使用S
将字符串S.split(pattern)
切分为多个部分。但是,结果不是我想要的。我想要那些与模式匹配的字符串,即分隔符。我的想法是使用拆分结果形成一个新模式然后再次拆分,但这需要考虑各种元符号的大量情况。任何直截了当的方式?
答案 0 :(得分:3)
答案 1 :(得分:2)
您不能只运行多个拆分,否则可能会得到错误的结果。我可能会使用s.split(pattern,2)......
public static Vector<String> getDelims( String s, String pattern )
{
String[] items = s.split( pattern, 2 );
if( items.length == 1 ) return new Vector<String>();
String delim = s.substring( items[0].length());
delim = delim.substring(0, delim.length() - items[1].length() );
Vector<String> ret = getDelims(items[1], pattern);
ret.add(0, delim);
return ret;
}