如何从字符串中删除以数字开头和结尾的数字?

时间:2014-07-19 12:17:52

标签: java regex

我有两个字符串

 1. J2EE
 2. java1.6

我想从开头和结尾删除数字;不是从两者之间。

任何人都可以为此或任何其他解决方案提供正则表达式吗?

3 个答案:

答案 0 :(得分:5)

使用replaceAll()正则表达式^\\d+|\\d+$使用System.out.println("1adfds23dfdsf121".replaceAll("^\\d+|\\d+$", "")); 简单地查找行的开头和结尾的数字。

adfds23dfdsf

输出:

^     Start of line
 \d+   Any digit (one or more times)
|     OR
 \d+   Any digit (one or more times)
$     End of line

修改

正则表达式解释:

{{1}}

enter image description here

答案 1 :(得分:3)

使用此:

String replaced = yourString.replaceAll("^\\d+\\. |(?:\\d+\\.)?\\d+$", "");

<强>输出:

J2EE
java

<强>解释

  • ^\d+\.匹配前导数字,句点和空格
  • '|' OR
  • (?:\d+\.)?\d+$匹配可选的数字和点,数字和字符串结尾
  • 替换为空字符串

答案 2 :(得分:0)

使用此:

string.replaceAll("^(?:\\d|\\d\\.\\d)*|(?:\\d|\\d\\.\\d)*$", "");

这将在字符串的结尾和/或开头查找数字,并将其替换为空。它还会删除小数点(.

  • ^字符串开头
  • (?:\\d|\\d+\\.\\d+)*一个数字或带小数的数字(1234.4321
  • *零次或多次
  • |
  • $字符串结尾