Небольшое улучшение решения @ Michael:
// NOTES: about the LINQ:
// .Where() == filters the IEnumerable (which the array is)
// (c=>...) is the lambda for dealing with each element of the array
// where c is an array element.
// .Trim() == trims all blank spaces at the start and end of the string
var doubleArray = Regex.Split(sentence, @"[^0-9\.]+")
.Where(c => c != "." && c.Trim() != "");
Возвраты:
10.4
20.5
40
1
Исходное решение возвращалось
[empty line here]
10.4
20.5
40
1
.
Вы можете создать ServiceProvider следующим образом в app / Providers:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class HelperServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
//
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
foreach (glob(app_path().'/Helpers/*.php') as $filename) {
require_once($filename);
}
}
}
В файле config / app добавьте этот новый serviceProvier
App\Providers\HelperServiceProvider::class,
Затем создайте папку / Helpers в папке / app (./app/Helpers) и поместите ваш файл в эту папку. Теперь вы можете получить доступ ко всем функциям этой папки из любого места.
Вы можете просто включить этот файл в свой класс. Поместите это куда-нибудь значимое, например / vendor или / lib и include
в класс, где вы хотите его использовать.
Некоторая информация о включении внешних файлов PHP: https://laraveldaily.com/how-to-use-external-classes-and-php-files-in-laravel-controller/
просто добавьте его в свой composer.json