【问题标题】:Remove - from number [duplicate]从号码中删除 - [重复]
【发布时间】:2019-07-03 11:03:17
【问题描述】:

我需要从数字中删除连字符,但我找不到执行此操作的函数。我知道我以前在某处使用过它,但我不记得了。

+123-567-896

需要这样的+123-567896

【问题讨论】:

  • 在加入 Stackoverflow 之前,您尝试和研究了什么?
  • 用您正在使用的数据库标记您的问题。而且,更好地解释你的逻辑。您的结果集仍有连字符,因此您的问题不清楚。
  • @GordonLinoff 不确定数据库是否与此处相关..
  • @treyBake Gordon 之所以提到它是因为 SQL 标记的描述:“问题应包括代码示例、表结构、示例数据、>>> 和 DBMS 实现的标记
  • @icecub true,但除非这是通过 SQL 完成,否则我认为 SQL 标记和任何后续数据库标记都是多余的

标签: php sql


【解决方案1】:

您可以使用strrpos() 查找字符串中某个字符的最后一次出现。所以在这种情况下你的连字符。然后,您可以使用substr_replace() 函数将您的- 位置上的一个字符替换为''(空字符串)

$tel = '+123-567-896';    

echo substr_replace($tel,'', strrpos($tel, '-'), 1);

会给你:

+123-567896

工作示例:https://3v4l.org/VfFGh

【讨论】:

    【解决方案2】:

    你可以使用这个功能str_replace('-','','+123-567-896')

    【讨论】:

    • 根据例子,这是错误的。您可以清楚地看到只有最后一个连字符应该被删除,而不是全部。
    • @icecub 。问题中没有提到只删除最后一个连字符?对吗?
    • 不,你错了。查看 OP 提供的示例。 “需要这样的+123-567896”
    • "+123-567-896" => "需要这样的+123-567896" - 他在这里清楚地告诉你如何结束结果应该看起来像
    • 你不必为试图帮助别人而道歉。尝试失败总比不参与好。从错误中吸取教训,下次改进:)
    猜你喜欢
    • 1970-01-01
    • 2014-03-26
    • 2018-04-14
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    • 2021-08-07
    • 2018-12-12
    • 2015-06-02
    相关资源
    最近更新 更多