文字列と文字列を別々に格納しようとしています - List<String>
のすべての文字とList<Integer>
のすべての文字NumberFormatExceptionが文字と文字列を文字列から区別する方法はありますか
私の文字列は -
String s="asdjd7gd7fghdfg78895983745hkg98353j56li67hj595j595695g596496890";
文字列と文字列を別々に格納しようとしています - List<String>
のすべての文字とList<Integer>
のすべての文字NumberFormatExceptionが文字と文字列を文字列から区別する方法はありますか
私の文字列は -
String s="asdjd7gd7fghdfg78895983745hkg98353j56li67hj595j595695g596496890";
TheLostMindは、あなたがそのString
から数字と数字以外の文字を分離するために、いくつかの正規表現でreplaceAll()
を利用することができます言ったように:
String s="asdjd7gd7fghdfg78895983745hkg98353j56li67hj595j595695g596496890";
String digits = s.replaceAll("[a-z]", "");
String nonDigits = s.replaceAll("[0-9]", "");
そこから、あなたが好きなようにdigits
とnonDigits
を保存するのはかなり簡単です。
これを試してみて、
String s = "asdjd7gd7fghdfg78895983745hkg98353j56li67hj595j595695g596496890";
List<String> str = new ArrayList<String>();
List<Integer> in = new ArrayList<Integer>();
for (int i = 0; i < s.length(); i++) {
String kek = String.valueOf(s.charAt(i));
if (Character.isDigit(s.charAt(i))) {
in.add(Integer.parseInt(kek));
} else {
str.add(kek);
}
}
Log.e("String", str.toString());
Log.e("Integer", in.toString());
出力:
文字列:[、Sは、D、J、D、G、D、F、G、H、D、F 、G、H、K、G、J、L、I、H、 J、J、G]
整数:[7,7、7、8、8、9、5、9、8、3 、7、5、9、5、9、5、9、5、9、6、5、6、 4、9、6、8、9、0]
はい、あなたは 'replaceAll()'またはループで正規表現を使用して、各文字のASCII値を確認することができます – TheLostMind
将来参照のために数字は_文字なので、数字 "を入力します。桁から文字を、または桁から非桁を分離することができます。 – ajb