前:ThisIsExample
後:This-Is-Example
正規表現で可能ですか?大文字で分解してこれを実行しようとしましたが、大文字の文字で文字列を分割することは不可能です。
前:ThisIsExample
後:This-Is-Example
正規表現で可能ですか?大文字で分解してこれを実行しようとしましたが、大文字の文字で文字列を分割することは不可能です。
次のように実行できます。
$result = preg_replace('~[a-z]\K(?=[A-Z])~', '-', $yourString);
\K
以前に一致したものをすべてリセットすると、このトリックを使用して、すべての大文字の前に小文字を一致させることができます。
(?=..)
は先読みで、 の後に が続くことを意味します。先読みは単なるチェックですが、何も一致しません。
はい、正規表現を使用して可能です。この StackOverflow の回答を参照してください:
https://stackoverflow.com/a/6227110
回答は、大文字の前にアンダースコアを追加するソリューションを提供するため、ダッシュ (- 記号) を追加するには、これが正しいコードです:
$result = preg_replace('/\B([A-Z])/', '-$1', $subject);
お役に立てれば。