【问题标题】:filter specific unicode character in SAS在 SAS 中过滤特定的 unicode 字符
【发布时间】:2017-04-28 18:14:58
【问题描述】:

我需要用空格或空白替换 SAS 中的特定 unicode 字符,即 U+0191。我怎样才能通过 COMPRESS 做到这一点?提前致谢。

【问题讨论】:

    标签: unicode sas


    【解决方案1】:

    您应该使用 KCOMPRESS function 而不是 COMPRESS 来压缩 unicode 字符,因为它被认为对于 Unicode 和 DBCS 环境更安全。

    但是,听起来您实际上想要TRANSLATE,或更准确地说是KTRANSLATE,它实际上用空格或其他字符替换字符(而不是像COMPRESS 那样删除它们)。

    这是一个例子:

    data have;
      charvar = "Ƒellow Americans";
      fixed_charvar = translate(charvar,'F','Ƒ');
      kfixed_charvar= ktranslate(charvar,'F','Ƒ');
      put _all_;
    run;
    

    这里我将 U+0191 转换为普通的 F;当然,您可以根据需要转换为空格(将'F' 替换为您希望转换为的任何内容)。

    这将适用于以 Unicode 模式设置的 SAS 实例;如果您在 WLATIN1 或类似程序中运行,您可能会遇到更多困难,尤其是在实际向 SAS 传递 U+0191 字符时。

    【讨论】:

      猜你喜欢
      • 2013-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-08
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多