相关疑难解决方法(0)

何时使用strtr vs str_replace?

我很难理解什么时候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还是其他有什么好处吗?任何人不足以达到预期结果的情况?

php string strtr str-replace

81
推荐指数
3
解决办法
3万
查看次数

Java Regex在字符类中的非法转义字符

我正在尝试确定传递给我的Expressions类的表达式是否有运算符.分别+-*/^用于加,减,乘,除和指数.

这段代码有什么问题?

private static boolean hasOperator(String expression)
{
    return expression.matches("[\+-\*/\^]+");
}
Run Code Online (Sandbox Code Playgroud)

我认为我已经正确地转义了特殊字符,但是在尝试编译时我不断收到错误:" 非法转义字符 ".

谢谢你的帮助.

java regex

13
推荐指数
1
解决办法
5532
查看次数

在同一个字符串上多次使用str_replace

我正在循环一个表格中的标题,所以它基本上就是这些方面的东西.

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)

任何建议或可能的替代方案将不胜感激.感觉就像我真的很亲密但并不完全.

php str-replace

11
推荐指数
1
解决办法
3万
查看次数

标签 统计

php ×2

str-replace ×2

java ×1

regex ×1

string ×1

strtr ×1