Java 如何从字符串变量中仅获取整数部分?

Java 如何从字符串变量中仅获取整数部分?,java,Java,我的数据库表中有一些字符串类型的数据,如D-101和D-102。 我想在前端自动获取下一个数据(一个JSFWeb应用程序),并将其发送到数据库D-103 为此,我只想从字符串中获取int数据 我如何才能做到这一点?在托管bean中,您可以使用split()函数 String s = "D-101"; String[] arr = s.split("[^\\d]+"); System.out.println(arr[1]); //prints 101 或 在xhtml页面中,您可以编写这样的EL

我的数据库表中有一些字符串类型的数据,如
D-101
D-102
。 我想在前端自动获取下一个数据(一个JSFWeb应用程序),并将其发送到数据库
D-103

为此,我只想从字符串中获取int数据


我如何才能做到这一点?

在托管bean中,您可以使用
split()
函数

String s = "D-101";
String[] arr = s.split("[^\\d]+");
System.out.println(arr[1]); //prints 101

在xhtml页面中,您可以编写这样的EL。请注意,myBean是bean的名称,getColumnValue()方法返回列的值(即“D-101”)

然后比较最大值

int currentBranchCode = 0;
        for (Integer CCS : companyArrayList) {
            if (currentBranchCode <= CCS) {
                currentBranchCode = CCS;
            }
        }

您必须试一试。

这只需几行即可完成:

int i = Intger.parseInt(input.replaceAll(".*(?<!\\d)(\\d+)", "$1");
String next = input.replaceAll("(.*)(?<!\\d)\\d+", "$1"+ ++i);

inti=Intger.parseInt(input.replaceAll(“.*”)您能显示打印这些值的实际视图代码吗?
int currentBranchCode = 0;
        for (Integer CCS : companyArrayList) {
            if (currentBranchCode <= CCS) {
                currentBranchCode = CCS;
            }
        }
currentBranchCode =currentBranchCode +1;
String codegenerate="D"+currentBranchCode;
int i = Intger.parseInt(input.replaceAll(".*(?<!\\d)(\\d+)", "$1");
String next = input.replaceAll("(.*)(?<!\\d)\\d+", "$1"+ ++i);