Roman Numerals in a java string
807589Jun 18 2008 — edited Jul 11 2008Hi,
I want to check a string whether it contains roman numerals and if yes replace it with another character.I wrote a sample program given below.
public class test2{
public static void main(String s[]){
String string="XVdummyCDBankIMName ";
String oldchar1="X";
String oldchar2="V";
String oldchar3="I";
String oldchar4="C";
String oldchar5="D";
String oldchar6="M";
String oldchar7="L";
int numChar=string.length();
char[] charArray=new char[numChar];
string.getChars(0, numChar, charArray,0);
int i=0,flag=0;
String space=" ";
System.out.println("Your String before repalce\n"+string);
while(i<charArray.length)
{
if(charArray==oldchar1.charAt(0) ||charArray[i]==oldchar2.charAt(0) || charArray[i]==oldchar3.charAt(0) || charArray[i]==oldchar4.charAt(0) || charArray[i]==oldchar5.charAt(0) || charArray[i]==oldchar6.charAt(0) || charArray[i]==oldchar7.charAt(0))
{
charArray[i]=space.charAt(0);
flag=1;
}
i++;
}
if(flag==1)
{
System.out.println("\n String after repalcing roman numerals with space");
String newString=new String(charArray);
System.out.println("==="+newString+"\n\n char has been replaced");
}
if(flag==0)
{
System.out.println("\nThe char not found");
}
}
}
I am trying replace I,X,V,C,D,M,L with space since these 6 characters I,X,V,C,D,M,L join to form Roman numbers. right?
e.g.if
string="XVdummyCDBankIMName ";
then it will give output as
dummy Bank Name
with two spaces before word starts.
output will be: "two spaces"dummy"two spaces"Bank"two spaces"Name
this is correct replacement but.what my question is suppose,
my string is string="XVDUMMYCDBANKIMNAME ";
in this case if i will search for I,X,V,C,D,M,L and will replace with space. it will give me "3 spaces"+U+"two spaces"+Y+"two space"+BANK+"two spaces"+NA+"one space+"E.
it will consider M as a roman character and we can lose data in this case.
Please tell me is there any special character which denote the roman numeral for which I can make a replacement without losing necessary data......
Please help