1

AZazまたは0-9以外の文字を削除したいと考えています。

4

2 に答える 2

2

表示文字列のコードを基本的にホワイトリスト文字に設定しました。これについては次のように行った:

stringvar input := {report.field};
stringvar output := '';
numbervar i;

input := Trim(input);

for i := 1 to Length(input) Step 1 do

  // 0-9 is 48-57
  // A-Z is 65-90
  // a-z is 97-122

  if (input[i] in [Chr(48),Chr(49),Chr(50),Chr(51),Chr(52),Chr(53),Chr(54),Chr(55),Chr(56),Chr(57),Chr(65),Chr(66),Chr(67),Chr(68),Chr(69),Chr(70),Chr(71),Chr(72),Chr(73),Chr(74),Chr(75),Chr(76),Chr(77),Chr(78),Chr(79),Chr(80),Chr(81),Chr(82),Chr(83),Chr(84),Chr(85),Chr(86),Chr(87),Chr(88),Chr(89),Chr(90),Chr(97),Chr(98),Chr(99),Chr(100),Chr(101),Chr(102),Chr(103),Chr(104),Chr(105),Chr(106),Chr(107),Chr(108),Chr(109),Chr(110),Chr(111),Chr(112),Chr(113),Chr(114),Chr(115),Chr(116),Chr(117),Chr(118),Chr(119),Chr(120),Chr(121),Chr(122)]) 
  then output := output + input[i];

output

誰かがこれを行うためのよりクリーンで短い方法を持っているなら、共有してください!

于 2012-10-29T20:01:33.450 に答える
0

SQL式を作成します。

//{%MY_FIELD}
// Oracle syntax
REGEXP_REPLACE(TABLE.FIELD, '[^0-9]', '')
于 2012-10-31T12:30:28.190 に答える