字符串处理:数组末位转大写、Canada替换为大写及未匹配提示
字符串处理需求实现方案
数组末尾字符串转全大写
- 实现逻辑:先判断数组非空、最后一位为字符串类型,取出末尾元素调用大写转换方法后回写原位置,避免空数组报错。
- PHP实现(适配给出代码的语法环境):
<?php $targetArr = ["apple", "orange", "grape"]; if (!empty($targetArr) && is_string(end($targetArr))) { $targetArr[array_key_last($targetArr)] = strtoupper(end($targetArr)); } print_r($targetArr); // 输出:Array ( [0] => apple [1] => orange [2] => GRAPE ) ?>
- JavaScript实现(前端场景参考):
const targetArr = ["apple", "orange", "grape"]; if (targetArr.length && typeof targetArr.at(-1) === 'string') { targetArr[targetArr.length - 1] = targetArr.at(-1).toUpperCase(); } console.log(targetArr); // 输出:['apple', 'orange', 'GRAPE']
不区分大小写替换Canada为CANADA
- 实现逻辑:使用带不区分大小写修饰符的正则匹配所有大小写形式的
canada子串,先判断匹配是否存在,存在则替换为CANADA,不存在直接输出提示文本,不会破坏原有字符串里的HTML标签、变量定义等其他内容。 - 针对给出代码片段的PHP实现:
<?php $rawStr = '<p>$county="Great Britain,India, Pakistan, Australia,Canada"'; if (preg_match("/canada/i", $rawStr)) { $processedStr = preg_replace("/canada/i", "CANADA", $rawStr); echo $processedStr; // 输出:<p>$county="Great Britain,India, Pakistan, Australia,CANADA" } else { echo "String not found"; } ?>
- 说明:正则的
i修饰符可以覆盖Canada、canada、CaNaDa等所有大小写变体,不会漏匹配。如果字符串中不存在对应子串,会直接输出String not found。
内容的提问来源于stack exchange,提问作者Mohammed Tariq
相关产品推荐
相关产品推荐

