중국 전통 숫자, 정규 표현 식...
5389 단어 정규 표현 식
1 package test;
2 /*
3 * 10 : , 。 :101000001010
4 * : 1. converNumber(long number) 2. 3. 4.
5 * */
6 public class Test17
7 {
8 public static void main(String[] args)
9 {
10 //
11 System.out.println(convertNumber(3500908));
12 System.out.println(convertNumber(101000001010L));
13 System.out.println(convertNumber(10000000000L));
14 }
15 public static String convertNumber(long number)
16 {
17 //
18 final char[] chineseNumber = new char[] { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' };
19 //
20 final char[] units = new char[] { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' };
21 //
22 StringBuilder sb = new StringBuilder();
23 int index = 0;
24 long lastNumber = 0;
25 while (number != 0)
26 {
27 lastNumber = number % 10;
28 sb.insert(0, units[index++]);
29 sb.insert(0, chineseNumber[(int) lastNumber]);
30 number = number / 10;
31 }
32 // ,
33 return sb.toString().replaceAll(" [ ]", " ").replaceAll(" + ", " ").replaceAll(" {4} ", " ").replaceAll(" + ", " ").replaceAll(" + ", " ").replaceAll(" +", " ") + " ";
34 }
35 }