文字列の最後からETX文字(0x03)を削除するにはどうすればよいですか?私は関数を好むか、そうでなければ正規表現を書くことができます。私が知りたいのは、ETX文字を正規表現でどのようにマッチさせるかです。 trim()
は機能しません。文字列の最後からETX文字を削除するには? (Regex or PHP)
8
A
答えて
8
をETX文字は行末にないので、次のコードを使用する必要がありました。
$string = preg_replace('/\x03/', '', $string);
$記号を削除するだけです。
1
は、あなたが推測RTRIM($のVAR、 "\のC")で
0
RTRIM機能を試してみました。またはpreg_replace( "/ \ c + \ $ /"、 ''、$ var);
1
ETXは制御文字です。つまり、それを実現するために何らかの努力を払わなくてはなりません。
PHP対話プロンプトから:つまり
php > $borked = "Hello, have an ETX:" . chr(3);
php > print_r($borked);
Hello, have an ETX:
php > var_export($borked);
'Hello, have an ETX:'
php > echo urlencode($borked);
Hello%2C+have+an+ETX%3A%03
php > var_dump(preg_match('/' . chr(3) . '/', $borked));
int(1)
php > var_dump(preg_match('/' . chr(3) . '$/', $borked));
int(1)
php > echo urlencode(preg_replace('/' . chr(3) . '$/', '', $borked));
Hello%2C+have+an+ETX%3A
、あなたは基本的には正規表現の文字列に文字を挿入することができます。今、このはバックファイヤーかもしれません。この手法は、文字セットやその他の恐ろしいものに基づいて逆効果を起こす可能性があります。
chr(3)
に加えて、urldecode('%03')
を試してみてください。 PCRE syntax pagesに記載されているとして、あなたはまた、特殊なエスケープ構文を使用することができます。/\x03$/
ここではその最後の方法使用して、あなたのための機能です:私はケースを持っていた、チャールズの答えを完了するために
function strip_etx_at_end_of_string($string) {
return preg_replace('/\x03$/', '', $string);
}
関連する問題
- 1. 文字列から最後の文字を削除する(Python)
- 2. 文字列の最後の文字を削除する$ variable
- 3. 最後の文字を文字列から削除する方法
- 4. 文字列の最後の文字を削除する
- 5. 文字列の最後の文字を削除する(VB.NET 2008)
- 6. 最初の文字が文字であるまで文字列から文字列を削除するには?
- 7. 文字列の最初と最後の文字を削除するには?
- 8. R最後の単語を文字列から削除する
- 9. 私は文字列から最後の3つの文字を削除したい文字列
- 10. javaで文字列バッファの最後の文字を削除するには?
- 11. C#で文字列の最後の文字を削除するには?
- 12. 文字列から大文字小文字を削除する
- 13. PHP RegEx文字列のコンマの後に空白を削除する
- 14. C文字列から最初の文字を削除するには?
- 15. PHP以外の文字を文字列から削除するには?
- 16. 最後から特定の位置の文字列から文字を削除するには?
- 17. 文字列と文字列をすべて文字列から削除する
- 18. 変数から文字列や文字を削除する
- 19. 文字列から削除
- 20. PHPの文字列から括弧を削除するには?
- 21. PHP - ファイルの最後の文字を削除する
- 22. 文字列からNULL文字を削除する方法
- 23. 文字列の最後の文字を削除する正規表現
- 24. SQL Update - 最後の45文字の文字列を削除する
- 25. 文字列からユニコードコードを削除する最速の方法
- 26. 文字列の最初の文字を削除する場合
- 27. 文字列から画像タグを削除し、文字列で
- 28. 最後の括弧を文字列で削除する
- 29. 文字列から重複する文字を削除する
- 30. Nyquistの文字列から文字を削除する
トリミングしていないのはなぜですか –
@ClickUpvoteどうしてですか? 'rtrim($ str、" \ x03 ")'を試しましたか? – Karolis