从Java中的给定字符串中提取所有整数
给定一个由数字、字母和特殊字符组成的字符串str 。任务是从给定的字符串中提取所有整数。
例子:
Input: str = “geeksforgeeks A-118, Sector-136, Uttar Pradesh-201305”
Output: 118 136 201305
Input: str = ” 1abc35de 99fgh, dd11″
Output: 1 35 99 11
方法:
- 用空格(“”)替换所有非数字字符。
- 现在用一个空格替换每个连续的空格组。
- 消除前导和尾随空格(如果有),最终字符串将仅包含所需的整数。
下面是上述方法的实现:
// Java implementation of the approach
public class GFG {
// Function to return the modified string
static String extractInt(String str)
{
// Replacing every non-digit number
// with a space(" ")
str = str.replaceAll("[^\\d]", " ");
// Remove extra spaces from the beginning
// and the ending of the string
str = str.trim();
// Replace all the consecutive white
// spaces with a single space
str = str.replaceAll(" +", " ");
if (str.equals(""))
return "-1";
return str;
}
// Driver code
public static void main(String[] args)
{
String str = "avbkjd1122klj4 543 af";
System.out.print(extractInt(str));
}
}
输出:
1122 4 543