str_replace使用数组时,我遇到了PHP函数的麻烦.
我有这样的信息:
$message = strtolower("L rzzo rwldd ty esp mtdsza'd szdepw ty esp opgtw'd dple");
Run Code Online (Sandbox Code Playgroud)
我试图这样使用str_replace:
$new_message = str_replace(
array('l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c','d','e','f','g','h','i','j','k'),
array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'),
$message);
Run Code Online (Sandbox Code Playgroud)
结果应该是A good glass in the bishop's hostel in the devil's seat,但相反,我得到了p voos vlpss xn twt qxswop's wosttl xn twt stvxl's stpt.
但是,当我只尝试更换2个字母时,它会很好地替换它们:
$new_message = str_replace(array('l','p'), array('a','e'), $message);
Run Code Online (Sandbox Code Playgroud)
字母l和p将被替换a和e.
如果它们的大小完全相同,为什么它不能使用完整的字母数组呢?
在一个目录中,我有很多文件,或多或少地命名为:
001_MN_DX_1_M_32
001_MN_SX_1_M_33
012_BC_2_F_23
...
...
Run Code Online (Sandbox Code Playgroud)
在Python中,我必须编写一个代码,从目录中选择以某个字符串开头的文件.例如,如果字符串是001_MN_DX,Python选择第一个文件,依此类推.
我该怎么做?
我想使用»相邻链接之间的HTML 实体格式化链接的痕迹痕迹,所以它看起来像这样:
我在CSS中添加了一条规则:
nav#breadcrumb-trail a:after {
content: " » ";
}
Run Code Online (Sandbox Code Playgroud)
但这是在链接中添加实体,而不是在外面 - 即我得到这个:
我误解了CSS :after伪元素的行为吗?文档似乎意味着它在指定元素之后添加指定的内容,而不是将其添加到元素容器的内部.有任何想法吗?
为了充分理解并利用随新的.NET Framework 4.0提供的新功能和增强功能,我想得到代码契约的实际应用示例.
我想获得一个代码示例,其中包含一个简短的解释,以帮助我启动并运行它.
有没有办法告诉交互式Python shell在会话之间保留其执行命令的历史记录?
当会话正在运行时,在执行命令之后,我可以向上箭头并访问所述命令,我只是想知道是否有某种方法可以保存这些命令,直到下次我使用Python shell时.
这非常有用,因为我发现自己在会话中重用命令,这是我在上一个会话结束时使用的.
我对Haskell相当新,并且慢慢地认为Monad的存在有问题.真实世界Haskell 警告不要使用它("再一次,我们建议你几乎总是避免使用失败!").我今天只注意到罗斯帕特森称之为"疣,而不是设计模式" 在2008年后(并似乎得到该线程颇有些协议).
在观看RalfLämmel博士谈论函数式编程的本质时,我开始理解可能导致Monad失败的紧张局势.在讲座中,Ralf讨论了向基础monadic解析器添加各种monadic效果(日志记录,状态等).许多效果需要更改基本解析器,有时还需要更改使用的数据类型.我认为向所有monad添加'fail'可能是一种妥协,因为'fail'是如此常见,你想尽可能避免更改'base'解析器(或其他).当然,某种"失败"对于解析器来说是有意义的,但并不总是,例如,put/get of State或者ask/local of Reader.
如果我可能走错了轨道,请告诉我.
我应该避免使用Monad失败吗?Monad失败的替代方案是什么?是否有任何替代monad库不包括这个"设计疣"?我在哪里可以阅读有关此设计决策的历史更多信息?
我试图在Eclipse中生成Java文档.源文件是UTF-8编码的,包含一些变音符号.生成的HTML文件不指定编码,也不使用HTML实体,因此在任何浏览器中都无法正确显示变音符号.
我该怎么做才能改变这个?
我有一个使用该setTimeout函数的方法,并调用另一个方法.在初始加载方法2工作正常.但是,在超时后,我收到一个错误,表示method2未定义.我在这做错了什么?
例如:
test.prototype.method = function()
{
//method2 returns image based on the id passed
this.method2('useSomeElement').src = "http://www.some.url";
timeDelay = window.setTimeout(this.method, 5000);
};
test.prototype.method2 = function(name) {
for (var i = 0; i < document.images.length; i++) {
if (document.images[i].id.indexOf(name) > 1) {
return document.images[i];
}
}
};
Run Code Online (Sandbox Code Playgroud) 这些术语是相同的还是依赖注入和策略模式之间存在任何重要差异?对我而言,马丁福勒似乎只是用一个更有吸引力的名字重新命名了战略模式,我错过了什么?
html ×2
python ×2
.net ×1
.net-4.0 ×1
arrays ×1
css ×1
diacritics ×1
encoding ×1
file ×1
haskell ×1
javadoc ×1
javascript ×1
linux ×1
monads ×1
php ×1
python-2.7 ×1
ruby ×1
str-replace ×1
string ×1