除了引号(“)
之外,我只需要在2个字符之间替换反斜杠所以如果我有这个STRING:
When I look at you, I\understand why I live //replace
When I look at you, I "\understand why I live // No replace
When I look at you, I"\understand why I live // No replace
Sword art online\Мастера меча онлайн opening //replace Sword art online Мастера меча онлайн opening
这是一个json字符串,但是如果我使用stripslashes,则会删除所有后退。如果字符串没有“引号”,我只需要删除。
非常感谢。
答案 0 :(得分:1)
您可以使用:
GameScene.pause()
或者这个:
class MyButton: UIButton {
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
//Button presses
}
override func touchesEnded(touches: Set<NSObject>, withEvent event: UIEvent) {
//Button unpresses
}
}
这两种模式消耗引号之间的字符。
第一种模式使用$text = preg_replace('~"[^"]*"\K|\\\\~', '', $text);
从匹配结果中删除左侧匹配的所有字符。第二个强制模式失败(使用$text = preg_replace('~"[^"]*"(*SKIP)(*F)|\\\\~', '', $text);
)并且不重写引号之间的字符(使用\K
)。
请注意,必须在模式字符串中写入文字反斜杠(*F)
。 (反斜杠对字符串进行一次转义,对正则表达式引擎进行一次转义)。
答案 1 :(得分:0)
试试这个:
$strings = array(
'When I look at you, I\understand why I live',
'When I look at you, I "\understand why I live',
'When I look at you, I"\understand why I live',
'Sword art online\Мастера меча онлайн opening'
);
foreach ($strings as $string) {
$str = addslashes(stripslashes($string));
var_dump($str);
}