字符串处理 - java 取字符串中双引号中内容
巴扎黑
巴扎黑 2017-04-17 16:10:18
0
5
380

如何取name "David Beckham"中的name和David Beckham这两个值,我取得不对。我思路似乎先空格划分得到第一个name,然后截取“”中内容。

String str = varArr[j];//比如值为 name "David Beckham" String[] tempArr = str.split(" "); String key = tempArr[0]; String value = str.substring(str.indexOf("\""), str .indexOf("\""));
巴扎黑
巴扎黑

全部回复 (5)
Peter_Zhu

别用空格切分,直接用双引号切分,取前两个字符串,然后trim()一下就好了

    伊谢尔伦

    我还是习惯用split,虽然感觉比较low。

    String[] tempArr = str.split("\""); String key = tempArr[0].trim(); String value = tempArr[1].trim();
      黄舟

      你需要lastIndexOf

        伊谢尔伦

        难道正确的方法不是用String.split()?

          左手右手慢动作

          split在这里不合理,用正则准确分割

          import java.util.regex.Matcher; import java.util.regex.Pattern; public static void main(String[] args) { Pattern p = Pattern.compile("(name)\\s+\"(\\w+\\s+\\w+)\""); Matcher m = p.matcher("name \"David Beckham\""); if (m.find()) { System.out.println(m.group(1)); System.out.println(m.group(2)); } }
            最新下载
            更多>
            网站特效
            网站源码
            网站素材
            前端模板
            关于我们 免责声明 Sitemap
            PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!