如何从字符串的开头和结尾删除所有特殊字符,除了 # 和 ,?
How can I remove all special characters from the start and end of a string, expect # and ,?
我必须从字符串的开头和结尾删除除 #
和 ,
之外的所有特殊字符。
我试过这样的事情:
$q = preg_replace('/[^A-Za-z0-9\-\(\) ]/', '', $q);
将要删除的数组中的特殊字符全部放入,这样使用
str_replace(array(':', '\', '/', '*','$','%'), ' ', $string);
这应该适合你:
正如您已经使用的那样,我在这里使用 preg_replace()
来替换字符串开头或结尾处不是 #
或 ,
的每个字符。
$q = preg_replace('/^[^#,]|[^#,]$/', '', $q);
正则表达式解释:
^[^#,]|[^#,]$
- 第一个选择:^[^#,]
- ^ assert position at start 的字符串
- [^#,] 匹配下面 list 中不存在的单个字符
- #,列表中的单个字符#,字面意思
- 第二个选择:[^#,]$
- [^#,] 匹配下面 list 中不存在的单个字符
- #,列表中的单个字符#,字面意思
- $ assert position at end 的字符串
我必须从字符串的开头和结尾删除除 #
和 ,
之外的所有特殊字符。
我试过这样的事情:
$q = preg_replace('/[^A-Za-z0-9\-\(\) ]/', '', $q);
将要删除的数组中的特殊字符全部放入,这样使用
str_replace(array(':', '\', '/', '*','$','%'), ' ', $string);
这应该适合你:
正如您已经使用的那样,我在这里使用 preg_replace()
来替换字符串开头或结尾处不是 #
或 ,
的每个字符。
$q = preg_replace('/^[^#,]|[^#,]$/', '', $q);
正则表达式解释:
^[^#,]|[^#,]$
- 第一个选择:^[^#,]
- ^ assert position at start 的字符串
- [^#,] 匹配下面 list 中不存在的单个字符
- #,列表中的单个字符#,字面意思
- 第二个选择:[^#,]$
- [^#,] 匹配下面 list 中不存在的单个字符
- #,列表中的单个字符#,字面意思
- $ assert position at end 的字符串
- [^#,] 匹配下面 list 中不存在的单个字符