2010年9月28日火曜日

[SFDC]:正規表現

自分忘れっぽいですから。メモだけしていきます。
ヘルプにも記載がある通り詳細はJavaをミロです。ハイ

1.改行を置換する
String str = [select ・・・改行のやつ];
Pattern p = pattern.compile('[\n\r]');
matcher m = p.matcher(str);
str = m.replaceAll('');

2.数値チェック
System.debug('ああああ' + Pattern.matches('^[\\d]+$', '0166121'));
System.debug('ああああ' + Pattern.matches('^[\\d]+$', 'あ0166121'));
System.debug('ああああ' + Pattern.matches('^[\\d]+$', 'あ0166121おお'));
ただ、これだと、前ゼロや、カンマ、小数点もNGになりますが
自分は困らないのでほっとく

System.debug('ああああ' + Pattern.matches('^(0|[1-9]\\d{0,2}(,\\d{3})*)$', '1,661,921'));
System.debug('あああい' + Pattern.matches('^(0|[1-9]\\d{0,2}(,\\d{3})*)$', '1661921'));
System.debug('あああう' + Pattern.matches('^(0|[1-9]\\d{0,2}(,\\d{3})*)$', '0'));
System.debug('あああえ' + Pattern.matches('^(0|[1-9]\\d{0,2}(,\\d{3})*)$', '66,1921'));
こうすると、0か9,999,999の形式しか受け付けなくなる。

0 件のコメント: