gpt4 book ai didi

java - 正则表达式更改电话号码的形式

转载 作者:行者123 更新时间:2023-12-01 22:22:44 25 4
gpt4 key购买 nike

我正在尝试使用正则表达式更改电话号码格式。以下示例显示了原始格式是什么以及应如何更改它:

(216) 765 8765 ---> Phone: 216-7658765

我尝试使用以下代码:

data = data.replaceAll("([0-9]{3})|([\\s\\./0-9])*$","$1"+"-"+"$2");

但这并不能解决问题。

最佳答案

您的正则表达式是错误的:)您应该会收到一些有关错误转义序列的编译错误。

首先是你的错误:

  • 您对 (216) 的第一个匹配在技术上是正确的,但按顺序要删除 (),您还需要在其中进行匹配:\(([0-9]{3})\)
  • 你的第二个匹配有点搞砸了:)首先,如果你要在字符串中使用\s,大多数语言会认为你想转义“s”。所以大多数时候你需要转义\本身。所以\s
  • 我不知道管道是什么 |是用于,但您可以将其设为一个空格。

工作示例:

data.replaceAll("\\(([0-9]{3})\\) ([\\s0-9]+)*$","$1-$2")

https://code.sololearn.com/cVRUy2BwauK8#java

关于java - 正则表达式更改电话号码的形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58579706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com