从字符串中获取特定文本

时间:2014-04-17 19:21:36

标签: java

我需要在以下字符串中获取特定文本:

“{client_unique_identifier = cdakLs1W7oI + M3z + CzFv1lEUkaY =,cldbid = 2086,client_nickname = sman}”

我需要的是将它们的昵称cldbid返回为“2086”作为int

2 个答案:

答案 0 :(得分:1)

static int getNumber(){
    int result = 0;
    Pattern p = Pattern.compile("cldbid=(\\d+)");
    Matcher m = p.matcher("client_unique_identifier=cdakLs1W7oI+M3z+CzFv1lEUkaY=, cldbid=2086, client_nickname=sman");
    if(m.find()){
        result = Integer.valueOf(m.group(1));
    }
    return result;
}

答案 1 :(得分:0)

假设数据始终采用您列出的格式。

//property = 'cldbid='
public int getUserProperty(String property, String data) {
    int start = data.indexOf(property)+property.length();
    int end = data.indexOf(',', start);

    return Integer.parseInt(data.substring(start, end));
}

然而;我会把它作为正则表达式/模式匹配实现,就像之前的海报建议的那样。这里的教程。 http://docs.oracle.com/javase/tutorial/essential/regex/