我有一个字符串,想要提取其中唯一的数字序列。
例如: helloThisIsA1234Sample. 我想要的是 1234
可以确定数字序列在字符串中只出现一次,但位置不同。
(对于那些会问的人,我有一个服务器名称,需要从中提取特定的数字)
我想使用Apache commomns中的StringUtils类。
谢谢!
我有一个字符串,想要提取其中唯一的数字序列。
例如: helloThisIsA1234Sample. 我想要的是 1234
可以确定数字序列在字符串中只出现一次,但位置不同。
(对于那些会问的人,我有一个服务器名称,需要从中提取特定的数字)
我想使用Apache commomns中的StringUtils类。
谢谢!
String line = "This order was32354 placed for QT ! OK?";
String regex = "[^\\d]+";
String[] str = line.split(regex);
System.out.println(str[1]);
You can use str = str.replaceAll("\\D+","");
string.split(/ /)[0].replace(/[^\d]/g, '')
public static String extractNumberFromString(String source) {
StringBuilder result = new StringBuilder(100);
for (char ch : source.toCharArray()) {
if (ch >= '0' && ch <= '9') {
result.append(ch);
}
}
return result.toString();
}
测试代码
@Test
public void test_extractNumberFromString() {
String numberString = NumberUtil.extractNumberFromString("+61 415 987 636");
assertThat(numberString, equalTo("61415987636"));
numberString = NumberUtil.extractNumberFromString("(02)9295-987-636");
assertThat(numberString, equalTo("029295987636"));
numberString = NumberUtil.extractNumberFromString("(02)~!@#$%^&*()+_<>?,.:';9295-{}[=]987-636");
assertThat(numberString, equalTo("029295987636"));
}
String s = "@##9823l;Azad9927##$)(^738#";
System.out.println(s=s.replaceAll("[^0-9]", ""));
StringTokenizer tok = new StringTokenizer(s,"`~!@#$%^&*()-_+=\\.,><?");
String s1 = "";
while(tok.hasMoreTokens()){
s1+= tok.nextToken();
}
System.out.println(s1);
public static void main(String[] args) {
String input = "a,1,b,2,c,3,d,4";
input = input.replaceAll(",", "");
String alpha ="";
String num = "";
char[] c_arr = input.toCharArray();
for(char c: c_arr) {
if(Character.isDigit(c)) {
alpha = alpha + c;
}
else {
num = num+c;
}
}
System.out.println("Alphabet: "+ alpha);
System.out.println("num: "+ num);
}
`String s="as234dfd423";
for(int i=0;i<s.length();i++)
{
char c=s.charAt(i);``
char d=s.charAt(i);
if ('a' <= c && c <= 'z')
System.out.println("String:-"+c);
else if ('0' <= d && d <= '9')
System.out.println("number:-"+d);
}
输出:-
number:-4
number:-3
number:-4
String:-d
String:-f
String:-d
number:-2
number:-3
String str="java123java456";
String out="";
for(int i=0;i<str.length();i++)
{
int a=str.codePointAt(i);
if(a>=49&&a<=57)
{
out=out+str.charAt(i);
}
}
System.out.println(out);
简单的Python代码,用于将字符串中的数字分离出来
s="rollnumber99mixedin447"
list(filter(lambda c: c >= '0' and c <= '9', [x for x in s]))
String
本身完成时,你就不需要来自Apache的StringUtils
。 - Rahul