我很难理解什么时候strtr
会更好,str_replace
反之亦然.看起来使用任一函数都可以获得完全相同的结果,尽管替换子串的顺序是相反的.例如:
echo strtr('test string', 'st', 'XY')."\n";
echo strtr('test string', array( 's' => 'X', 't' => 'Y', 'st' => 'Z' ))."\n";
echo str_replace(array('s', 't', 'st'), array('X', 'Y', 'Z'), 'test string')."\n";
echo str_replace(array('st', 't', 's'), array('Z', 'Y', 'X'), 'test string');
Run Code Online (Sandbox Code Playgroud)
这输出
YeXY XYring
YeZ Zring
YeXY XYring
YeZ Zring
Run Code Online (Sandbox Code Playgroud)
除了语法之外,使用one还是其他有什么好处吗?任何人不足以达到预期结果的情况?
我正在尝试确定传递给我的Expressions类的表达式是否有运算符.分别+-*/^
用于加,减,乘,除和指数.
这段代码有什么问题?
private static boolean hasOperator(String expression)
{
return expression.matches("[\+-\*/\^]+");
}
Run Code Online (Sandbox Code Playgroud)
我认为我已经正确地转义了特殊字符,但是在尝试编译时我不断收到错误:" 非法转义字符 ".
谢谢你的帮助.
我正在循环一个表格中的标题,所以它基本上就是这些方面的东西.
foreach($c as $row){
echo string_shorten($row['title']);
}
Run Code Online (Sandbox Code Playgroud)
我正在做的是尝试是一个switch语句,它可以在我想要搜索的内容之间切换,一旦发现它将替换为我在str_replace中选择的内容:
function string_shorten($text){
switch(strpos($text, $pos) !== false){
case "Hi":
return str_replace('Hi','Hello', $text);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
任何建议或可能的替代方案将不胜感激.感觉就像我真的很亲密但并不完全.