111-222或ABC123java字符串 这种情况怎么获取数字

111-222或ABC123这种情况
这种字符串 怎么获取-符号后面的数字和字母后面的数字
求大s解惑

看数据格式具体什么样,可以用截取等方式实现

您可以使用字符串的split()方法和isalpha()方法来获取这种情况下-符号后面的数字和字母后面的数字。

例如,对于字符串"111-222",可以使用以下代码获取-符号后面的数字:

string = "111-222"
num_str = string.split("-")[1]
num = int(num_str)

这个代码先使用split()方法将字符串按照-符号进行分割,返回一个列表,然后通过索引[1]获取列表中第二个元素(即-符号后面的数字),最后使用int()方法将其转换为整数。

对于字符串"ABC123",可以使用以下代码获取字母后面的数字:

string = "ABC123"
for i in range(len(string)):
    if string[i].isalpha():
        alpha_index = i
        break
alpha_str = string[alpha_index:]
num_str = alpha_str.strip(string[alpha_index:])
num = int(num_str)

这个代码使用一个循环来查找字符串中第一个字母的位置,然后使用字符串切片来获取字母后面的数字。具体来说,alpha_str获取字符串中从第一个字母到字符串末尾的子字符串,num_str使用strip()方法删除字母部分后获取剩余的数字部分,最后使用int()方法将其转换为整数。

这两个代码可以根据您的实际需求进行修改和适应。


public static void main(String[] args) {
        String str = "1sdfs9456asdfwefs4gwe5fAAAAswe123434";
        char[] chars = str.toCharArray();
        StringBuffer buffer = new StringBuffer();
        for (char aChar : chars) {
            if ((int)aChar >= 49 && (int)aChar <= 59) {
                buffer.append(aChar);
            }
        }
        System.out.println(buffer);
    }

img