doufen3838
2019-08-16 23:05
浏览 139
已采纳

如何正确提取PHP字符串中的整数和十进制数?

I have a string in PHP where I want to extract only integer and decimal numbers, this is an example:

<?php 

$string = 'María vive en un pueblo de 25 957 habitantes y cobra 1859 euros al mes. OJO: no sé si os habéis fijado, pero los números del último ejemplo 
no llevan un punto o una coma separando los millares (25.957 o 1.859). Sé que resulta extraño, pero la nueva normativa de la R.A.E. 
dice que los números de cuatro cifras NO llevarán separación (1859) y los números de cinco cifras o más NO llevarán ni puntos ni comas, 
sino una separación (25 957 o 1 343 392). El 94% de los niños ha traído los deberes hechos. He pagado $50,95 dólares.';

?>

In this case I try to get numbers using this line:

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

But the problem is the result is:

25 957 1859 . , 25.957 1.859 . , . . . 1859 , 25 957 1 343 392 . 94 . 50,95 .   

And I want to get this result:

25 957 1859 25.957 1.859 1859 25 957 1 343 392 94 50,95

How can I fix it?

I'd like your help.

图片转代码服务由CSDN问答提供 功能建议

我在PHP中有一个字符串,我只想提取整数和十进制数,这是一个例子:</ p>

 &lt;?php 
 
 $ string ='Maríaviveen un pueblo de 25 957 habitantes y cobra 1859 euros al mes。  OJO:没有sésososbéisfijado,perolosnúmerosdelúltimoempmplo
no llevan un punto o una coma separando los millares(25.957 o 1.859)。  Ségain结果extraño,pero la nueva normativa de la R.A.E.  
dice quelosnúmerosdecuatro cifrasNOllevarándislaración(1859)ylosnúmerosdecinco cifrasomásNillevánnipuntos ni comas,
sinounaplalaración(25 957 o 1 343 392)。  El 94%delosniñoshatraídolosdeberes hechos。 他是pagado $50,95dólares。'; 
 
?&gt; 
 </ code> </ pre> 
 
 

在这种情况下,我尝试使用此行获取数字:</ p> \ n

  $ numbers = preg_replace('/ [^ 0-9 \。,] /','',$ string); 
 </ code> </ pre> 
 
 <  p>但问题是结果是:</ p> 
 
 
  25 957 1859。  ,25.957 1.859。  ,。  。  。  1859年,25 957 1 343 392。  94。  50,95。  
 </ code> </ pre> 
 
 

我想得到这个结果:</ p>

  25 957 1859 25.957 1.859 1859 25 957 1 343 392  94 50,95 
 </ code> </ pre> 
 
 

我该如何解决?</ p>

我希望得到您的帮助。</ p> \ n </ div>

3条回答 默认 最新

相关推荐 更多相似问题