PHP删除开头字符串中的所有标点符号,空格和数字

时间:2018-11-22 13:26:00

标签: php regex

我有很多这样的字符串:

[
  '01.671.324.0-445.000 JL.RAYA BANJARAN',
  '02.382.643.1-008.000 RUKO BUARAN'
  '31.765.446.5-433.000 JL.SURYA UTAMA',
  '010694040059000 SUMMITMAS 1, 11TH FLOOR,',
  '000 118 8 092 000 THE MANOR BUILDING',
  '013862305401000 JL.RAYA SERANG KM.71 DESA TAMBAK,'
]

如何在开始的字符串中去除所有数字,空格和标点符号? 它们的结果分别以字母开头。 我想像这样preg_replace他们:

[
  'JL.RAYA BANJARAN',
  'RUKO BUARAN'
  'JL.SURYA UTAMA',
  'SUMMITMAS 1, 11TH FLOOR,',
  'THE MANOR BUILDING',
  'JL.RAYA SERANG KM.71 DESA TAMBAK,'
]

抱歉,忘记附加我尝试使用的正则表达式:preg_replace('/^[0-9]+\. +/', '', $string);

如您所见,这是一个地址字符串。 我又遇到了一个像这样的字符串

013123305401000 16TH FLOOR, MIDPLAZA 2 BUILDING

16TH FLOOR, MIDPLAZA 2 BUILDING

请告知

1 个答案:

答案 0 :(得分:1)

您要尝试的正则表达式将匹配一个或多个数字,然后是单个点,然后是一个或多个空格,仅此而已。如果要删除所有数字,空格和标点符号,则需要将所有这些字符放在方括号内:

preg_replace('/^[0-9.\- ]+/', '', $string);

为了将来,这是一个测试所有正则表达式的好工具:https://regex101.com/