【问题标题】:How to replace a character with null如何用null替换字符
【发布时间】:2013-03-22 07:24:45
【问题描述】:

我有一个字符串 "8.53" 我想要得到的字符串 "853" 我努力了 以下代码

tr|.||;

但它并没有取代它只给8.53。 我尝试了另一种使用方式

tr|.|NULL|;

但是它给了8N53 任何人都可以建议我如何使用 tr 将字符替换为 NULL。

谢谢

【问题讨论】:

  • 您的意思是删除角色吗?你可能不想要一个空字符......
  • 是的,我想删除 .字符。

标签: perl


【解决方案1】:

你需要指定d修饰符来删除没有对应字符的字符:

tr/.//d;

或者您可以使用(更慢但更熟悉的)替换运算符:

s/\.//g;

【讨论】:

    【解决方案2】:

    您不需要tr,因为它将第一个列表中的字符与第二个列表中的相应字符(在您的示例中为N,因为这是第一个字符)。您需要替换运算符。

    my $var = "8.53";
    $var =~ s/\.//;
    print $var;
    

    如果您要替换多个实例 (s/\.//g),请添加 g 标志。

    【讨论】:

    • 非常感谢您的回复。它给了我想要的结果。
    • 或者,正如 ikegami 在下面演示的那样,你确实想要tr - 你只需要给它正确的选项 (/d) :-)
    猜你喜欢
    • 2014-03-04
    • 1970-01-01
    • 2016-08-22
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-18
    相关资源
    最近更新 更多