最初の文字の前にすべての文字を削除する必要があります... [a-z] & [A-Z]の最初の出現の位置を検索するにはどうすればよいですか?Regex/PHP最初の文字の前にすべてを削除します
$test = "1234 123423-34 This is a test";
$string = preg_replace('/REGEX/', "", $test);
echo $string;
万一出力: これはテスト
最初の文字の前にすべての文字を削除する必要があります... [a-z] & [A-Z]の最初の出現の位置を検索するにはどうすればよいですか?Regex/PHP最初の文字の前にすべてを削除します
$test = "1234 123423-34 This is a test";
$string = preg_replace('/REGEX/', "", $test);
echo $string;
万一出力: これはテスト
リードアンカーに否定文字クラスを使用しています。
^[^A-Za-z]+
正規表現のデモ:https://regex101.com/r/149aDt/1
PHPデモ:https://3v4l.org/7m6RZ
$test = "1234 123423-34 This is a test";
echo preg_replace('/^[^A-Za-z]+/', '', $test);
あなたが与えられた文字のいずれかにマッチしません最初の文字列セグメントの長さを返すためにstrcspn
機能を使用することができ、例:
$position = strcspn($test, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
これはUnicode文字を考慮していません。
(他の回答を参照)を決める必要はなく、正規表現でタスク(置き換え)を実行できます。
あなたはこの試みることができます:あなたがUnicode文字に対処したい場合は、chris85の答えに加えて
<?php
$test = "1234 123423-34 This is a test";
for($i=0;$i<strlen($test);$i++){
if(!ctype_alpha($test[$i])){
$test[$i] = '';
}else{
break;
}
}
echo $test;
を:[ `^ [^-ZA-Z]のための
$str = '123 μεγάλο τριχωτό της γάτας';
$result = preg_replace('~\PL+~Au', '', $str);
検索+ '](https://regex101.com/r/GDEdhk/1)に置き換え、空の文字列に置き換えてください。 –