Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用正则表达式拆分字符串_Android_Regex - Fatal编程技术网

Android 如何使用正则表达式拆分字符串

Android 如何使用正则表达式拆分字符串,android,regex,Android,Regex,我正在用以下代码解析json文件: JSONObject stationJson = array.optJSONObject(i); Station s = new Station(); s.setName(stationJson.optString("name")); s.setTimestamp(stationJson.optString("last_update")); s.setNumber(stationJson.optInt("number")); 这是json文件: { "num

我正在用以下代码解析json文件:

JSONObject stationJson = array.optJSONObject(i);
Station s = new Station();
s.setName(stationJson.optString("name"));
s.setTimestamp(stationJson.optString("last_update"));
s.setNumber(stationJson.optInt("number"));
这是json文件:

{
"number": 123,
"contract_name" : "7500 - London",
"name": "nom station",
"address": "adresse indicative",
}
我只想在名称部分显示“伦敦”,而不是数字

我找到了此代码段,但不知道如何使用它:

case spots:
            number = pSpotsJSON.optString("id");
            name = pSpotsJSON.optString("name");
            address = pSpotsJSON.optString("description");
            status = pSpotsJSON.optString("status");
            displayName = buildDisplayName(name);
            break;

        default:
            throw new IllegalArgumentException("Cannot parse spots from JSON: unknown provider " + provider.getName());
    }
}
private String buildDisplayName(String name) {
    String regexp = "[\\d\\s]*([a-zA-Z](.*)$)";
    Pattern p = Pattern.compile(regexp);
    Matcher m = p.matcher(name);
    if (m.find()) {
        return m.group();
    }
    return name;
}

任何帮助都会很好

在字符串的“-”后面加一个子字符串怎么样

我会给出这样的信息:

String contractName = stationJson.getString("contract_name");
contractName = contractName.substring(contractName.indexOf("-")+2); //+2 for the minus + space caracters

您希望从
“7500-伦敦”
中提取
“伦敦”
。它绝对与JSON无关。