【发布时间】:2010-05-17 15:41:26
【问题描述】:
我有以下字符串“3/4Ton”。我想将其拆分为 -->
word[1] = 3/4 和 word[2] = 吨。
现在我的代码如下所示:-
Pattern p = Pattern.compile("[A-Z]{1}[a-z]+");
Matcher m = p.matcher(line);
while(m.find()){
System.out.println("The word --> "+m.group());
}
它执行根据大写字母拆分字符串所需的任务,例如:-
String = MachineryInput
word[1] = 机械,word[2] = 输入
唯一的问题是它不保留数字或缩写或大写字母序列,它们不应该是单独的单词。有人能帮我解决我的正则表达式编码问题吗?
提前谢谢...
【问题讨论】:
-
“单词”的开头是什么?它不能是任何大写字母或数字,因为“3/4”将是两个单词,“3/”和“4”。我认为你需要更准确地定义你的规则才能得到一个好的答案。
-
数字或大写字母。我感到困惑的是如何将我的两个要求合并到一个正则表达式中?我需要知道使用正则表达式的最佳方法是什么,以便我的程序能够根据数字或大写字母作为起点来划分字符串。谢谢