【问题标题】:java - how to add - every after 3rd digit of String number [duplicate]java - 如何添加 - 每个字符串数字的第三位数字[重复]
【发布时间】:2018-09-21 08:14:43
【问题描述】:

我有联系电话,我从字符串类型的参数中获取。

 String pharmacyPhone = "123456789";

我想在这里添加 - 在每 3 位之后和第 4 位之前

所以输出会变成pharmacyPhone = 123-456-789.

那么如何实现呢?

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 请包含一些代码向我们展示您已经取得的成果。
  • 即使是快速的谷歌搜索也会告诉你
  • 看看StringBuilder.insert(offset, char)

标签: java


【解决方案1】:

一种方法使用正则表达式替换:

String pharmacyPhone = "123456789";
pharmacyPhone = pharmacyPhone.replaceAll("(.{3})(?=.)", "$1-");
System.out.print(pharmacyPhone);

123-456-789

(.{3})(?=.) 模式通过匹配一次捕获三个数字来工作,前提是后面至少还有一个数字。然后它替换为捕获的三个数字,后跟一个破折号。正向前瞻 (?=.) 确保我们不会在字符串末尾添加破折号。

【讨论】:

  • 不错的一个。 Tim 有 regex tut 的参考资料吗?
  • www.rexegg.com 是一个非常好的网站。除此之外,实践是一个人通常如何擅长任何事情。正则表达式也不例外。
  • 确实。感谢参考。
  • 非常感谢,它按我的方式工作
  • 当然..谢谢@TimBiegeleisen
猜你喜欢
  • 2016-11-07
  • 1970-01-01
  • 1970-01-01
  • 2016-05-02
  • 2010-12-31
  • 2012-05-18
  • 1970-01-01
  • 2017-01-15
  • 2013-11-25
相关资源
最近更新 更多