Visualforceにて入力された値など、
全角数字を半角数字に変換する必要がある場合に使用するメソッドを作った。
構成
①入力値がNULLの場合はそのままreturn
※呼び出し元でエラーを検知
②入力値がすべて半角数字の場合はそのままreturn
③全角数字(Key)と半角数字(Value)をセットにしたMapを作成
④入力値に全角数字(Key)が含まれていたら半角数字(Value)に変換する
※0~9までをループで変換実施
⑤出来上がった文字列をreturn!
実装
sample.cls
private String convertFullNumber(String inputNumber){
if(String.isEmpty(inputNumber)) return '';
if (Pattern.matches('[0-9]+', inputNumber)) return inputNumber;
Map<String, String> convertNumberMap = new Map<String, String>();
convertNumberMap.put( '0', '0' );
convertNumberMap.put( '1', '1' );
convertNumberMap.put( '2', '2' );
convertNumberMap.put( '3', '3' );
convertNumberMap.put( '4', '4' );
convertNumberMap.put( '5', '5' );
convertNumberMap.put( '6', '6' );
convertNumberMap.put( '7', '7' );
convertNumberMap.put( '8', '8' );
convertNumberMap.put( '9', '9' );
for (String full : convertNumberMap.keySet()) {
if (inputNumber.contains(full)) {
inputNumber = inputNumber.replaceAll(full, convertNumberMap.get(full));
}
}
return inputNumber;
}
Salesforce関係ない気がするw
ほぼjava?
まぁただのチートシートなのである。少しでも時短!( ^ω^)