首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从数字字符中分割起始字母字符

从数字字符中分割起始字母字符
EN

Stack Overflow用户
提问于 2014-05-08 07:45:17
回答 6查看 79关注 0票数 0

我希望拆分一个字符串,以便开始字母字符串(直到出现第一个数字数字)。还有另一个字母数字字符串。

例如:我有一个字符串,例如: Nesc123abc456

我想通过拆分上面的字符串获得以下两个字符串: Nesc,123abc 456

我尝试过的:

代码语言:javascript
复制
    String s = "Abc1234avc";
    String[] ss = s.split("(\\D)", 2);

    System.out.println(Arrays.toString(ss));

但这只是去掉了字符串中的第一个字母。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2014-05-08 07:49:34

您也许可以使用查找器,这样就不会使用分隔部分:

代码语言:javascript
复制
String s = "Abc1234avc";
String[] ss = s.split("(?<=\\D)(?=\\d)", 2);

System.out.println(Arrays.toString(ss));

ideone演示

(?<=\\D)确保在分割零件之前有一个非数字的,

(?=\\d)确保在要分割的部分后面有一个数字。

票数 4
EN

Stack Overflow用户

发布于 2014-05-08 07:48:00

你需要量词。

试一试

代码语言:javascript
复制
String[] ss = s.split("(\\D)*", 2);

这里有更多信息:http://docs.oracle.com/javase/tutorial/essential/regex/quant.html

票数 1
EN

Stack Overflow用户

发布于 2014-05-08 07:47:53

你没试过replaceAll

代码语言:javascript
复制
String s = ...;
String firstPart = s.replaceAll("[0-9].*", "");
String secondPart = s.substring(firstPart.length());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23535723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档