我有几个字符串需要解析。字符串应该用插入字符分隔,但是,如果字符串中允许的字符数达到最大值,插入字符将被省略。我需要找到一种方法来处理这个问题。这里有一个例子。规则是最多不能超过13个字符。在下面的字符串中,应该有一个插入字符的地方有一个“S”。
MASSYBU HILLSMARY
字符串这是一个未达到13个字符限制的字符串示例
CYPRUS^TOM
型如何处理第一个例子中没有字符串的13个字符限制的字符串?
qcbq4gxm1#
看起来像一个正则表达式的作业
$str = "whatever^abcabcabcabcxABCABCABCABCXDEF^"; preg_match_all('~[^^]{1,13}~', $str, $m); var_dump($m[0]);
字符串输出
[0]=> string(8) "whatever" [1]=> string(13) "abcabcabcabcx" [2]=> string(13) "ABCABCABCABCX" [3]=> string(3) "DEF"
型
py49o6xq2#
首先将字符串限制为13个字符(例如,使用substr),然后查找终止符。这就是您要查找的内容吗?或者,如果您正在使用indexOf查找字符,请将结果限制为13。这实际上取决于您的代码的外观。编辑:让我把它拼出来。
$Length = Min(strlen($String), 13); if (($TerminatorIndex = strpos($String, "^")) !== FALSE) { $Length = Min($Length, $TerminatorIndex); } return substr($String, 0, $Length);
字符串
roejwanj3#
如果你需要删除额外的字符,你可以这样做:
$n = 13; if(strlen($str) > $n) { //do some alteration example $str = substr($str, 0, $n); }
3条答案
按热度按时间qcbq4gxm1#
看起来像一个正则表达式的作业
字符串
输出
型
py49o6xq2#
首先将字符串限制为13个字符(例如,使用substr),然后查找终止符。这就是您要查找的内容吗?
或者,如果您正在使用indexOf查找字符,请将结果限制为13。这实际上取决于您的代码的外观。
编辑:让我把它拼出来。
字符串
roejwanj3#
如果你需要删除额外的字符,你可以这样做:
字符串