我有两个字符串
1. J2EE
2. java1.6
我想从开头和结尾删除数字;不是从两者之间。
任何人都可以为此或任何其他解决方案提供正则表达式吗?
答案 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}}
答案 1 :(得分:3)
使用此:
String replaced = yourString.replaceAll("^\\d+\\. |(?:\\d+\\.)?\\d+$", "");
<强>输出:强>
J2EE
java
<强>解释强>
^\d+\.
匹配前导数字,句点和空格(?:\d+\.)?\d+$
匹配可选的数字和点,数字和字符串结尾答案 2 :(得分:0)
使用此:
string.replaceAll("^(?:\\d|\\d\\.\\d)*|(?:\\d|\\d\\.\\d)*$", "");
这将在字符串的结尾和/或开头查找数字,并将其替换为空。它还会删除小数点(.
)
^
字符串开头(?:\\d|\\d+\\.\\d+)*
一个数字或带小数的数字(1234.4321
)*
零次或多次|
或$
字符串结尾