我有像这种模式的字符串,我想
income_statement @其他收入(少数股东权益)@ 9
删除数字
除去@以外的特殊字符
用下划线替换空格
我做这样的事情,但还没有工作
$spaces = str_replace(' ', '_', $key);
echo $numbers = preg_replace("/[^a-zA-Z]/", "_", $spaces);
第一步(删除数字,每个非字母,请注意,这也包括下划线,_
但不是简单的空格)
$re = "/(?:[^a-z@ ]|\d)/i";
$str = "income_statement@Other Income (Minority Interest)@9";
$subst = "";
$result = preg_replace($re, $subst, $str);
输出:
incomestatement@Other Income Minority Interest@
第二步(带下划线的子空格_
)
$re = "/\s+/";
$str = "incomestatement@Other Income Minority Interest@";
$subst = "_";
$result = preg_replace($re, $subst, $str);
输出:
incomestatement@Other_Income_Minority_Interest@
精简版
$str = "income_statement@Other Income (Minority Interest)@9";
$stripped = preg_replace("/(?:[^a-z@ ]|\d)/i", "", $str);
$result = preg_replace("/\s+/", "_", $stripped);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句