есть строка на русском языке с целыми числами. codepage=windows-1251 или СР1251 если быть точнее
есть програмный код на яве(привожу ниже)
результат: некоректное(на мой взгляд) отображение выделеных посимвольно символов(смотрел в консольном окне в IDE).
код взят из моего jar-приложения написаного на NetBeans 5.5.1
задача: отделить целые числа от строки методом посимвольного определения принадлежности к разряду чисел.
з.ы. может есть какой альтернативный метод да я не нашел его???
public void str2int_mas(String s){
/**переходим на битовую обработку
*/
try {
System.out.println("Вхожу в начало цикла...");
byte buf2[] = s.getBytes("CP1251");//перевожу в битовый массив потому что по другому незнаю как дальше обработать
String S = new String();
int y,i=0;
byte i1=124,i2;
java.util.Stack<Byte> st = new java.util.Stack<Byte>();
System.out.println("---------------------"+buf2.length);
while(i<buf2.length){
y = i;
while(java.lang.Character.isDigit((char)buf2[y])){
st.push(buf2[y]);//вносим все нужные нам битовые значения цифер
//S=S.concat(java.lang.Byte.toString(buf2[y]));
System.out.println(y + " - " + (char)buf2[y]);
y++;
}
if(i!=y) {
st.push(i1);
//S=S.concat("|");
i = y;
}
i++;
System.out.println("Контрольная точка - ["+i+"]='"+buf2[i]+"' ch='"+(char)buf2[i]+"'");
}
System.out.println("Досюдова дошел???");
while (st.empty()==false){
i2 = st.pop();
System.out.print((char)i2);
}
System.out.println("\n-------------------");
msg3 = S;
System.out.println(msg3);
/*теперь в строковом массиве подряд через "|" номера нужных нам цифер.*/
} catch (UnsupportedEncodingException ex) {
ex.printStackTrace();
System.out.println("Варнинг!!! - "+ex.getMessage());
}
}