如何解决Java / Android正则表达式问题
| 我想在Java / Android中创建一个正则表达式,该表达式在第三个逗号之后或实际上在第三个逗号处将其截断。这可能吗?有什么建议可以帮助我开始吗?解决方法
看一下
Pattern
类。
替代方法:字符串中使用String#split
或使用StringTokenizer
。
, 不确定正则表达式将是我在这里的第一个方法。无论如何,以下是我的选择。
使用正则表达式(ideone.com演示)
Matcher m = Pattern.compile(\"(.*?,.*?,.*?),\").matcher(str);
if (m.find())
str = m.group(1);
使用indexOf
/substring
(ideone.com演示)
str = str.substring(0,str.indexOf(\',\',\') + 1) + 1));
使用nthOccurrence
(ideone.com演示)
str = str.substring(0,nthOccurrence(str,2));
, 将“ 9”转换成Java regex-ese,以在第三个逗号后截断,“ 10”将截断的部分包括在第三个逗号中。
, int comma = -1;
int n = 0;
do {
comma = str.indexOf(\',comma + 1);
} while (comma >= 0 && ++n < 3);
if (comma > 0) {
str = str.substring(0,comma);
} else {
// third comma not found
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。