java - Why string.matches("^[A-Z0-9\\-\\_]+") not working when i am giving value of string by manipulating another string, -
string astr="test-1-tv_50"; system.out.println(astr.matches("^[a-z0-9\\-\\_]+")); //true. but why not working..?
string astr1= "$local:test12-1-tv_50 xs:boolean"; int strtindex=astr.indexof(":"); int endindex=astr.indexof("as"); string extractedstr=astr1.substring(strtindex+1,endindex); //test12-1-tv_50 system.out.println(extractedstr.matches("^[a-z0-9\\-\\_]+")); //false. why giving result false.???
there's trailing space in extractedstr.
so contains "test12-1-tv_50 " (not there's space after final 0).
you can either replace endindex astr.indexof(" as") (starting space) or call trim() on extractedstr:
string extractedstr=astr1.substring(strtindex+1,endindex).trim();
Comments
Post a Comment