我有一个字符串,我需要在这个字符串中找到最后一个字母数字字符.无论字符串中的最后一个字母数字字符是什么,我都想要那个索引.对于
text="Hello World!- "
输出将是’d’的索引
text="Hello02,"
输出将是’2’的索引.
我知道我可以用一种“蛮力”的方式来做,检查每个字母和每个数字并找到最高指数,但我确信有一种更简洁的方法来做,但我找不到它.
解决方法
这将按预期工作,它甚至可以在几乎所有Unicode字符和数字上工作:
public static final int lastAlphaNumeric(String s) { for (int i = s.length() - 1; i >= 0; i--) { char c = s.charAt(i); if (Character.isLetter(c) || Character.isDigit(c)) return i; } return -1; // no alphanumeric character at all }
它也比其他答案快得多;)