在Java模式匹配中获取分隔符

时间:2012-01-30 06:04:20

标签: java split design-patterns delimiter

给定一个模式,我们可以使用S将字符串S.split(pattern)切分为多个部分。但是,结果不是我想要的。我想要那些与模式匹配的字符串,即分隔符。我的想法是使用拆分结果形成一个新模式然后再次拆分,但这需要考虑各种元符号的大量情况。任何直截了当的方式?

2 个答案:

答案 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;
}