当前位置: 首页 > 知识库问答 >
问题:

查找/替换特定字符串PHP,直到空格

万志专
2023-03-14

我试图找出如何在PHP中找到一个字符串,然后在找到该字符串后删除所有并发字母,直到最终的空间。

基本上,在我的应用程序中,我有一个大的文本混合了所有内容。对于我的输出,我想删除以字符“@”开头的任何单词。

例如字符串:

这是一个占位符#字符串,它看起来很棒,对吗?

如何搜索此字符串并仅删除"@Great"部分?我不知道@xxx是什么,所以我首先需要搜索字符串,然后用空替换它。

我知道我能做到:

<?php
$string = "This is a placeholder #string and it looks @great right?";
$newstring = str_replace("@great", "", $string);
print $newstring;
?>

但我不知道@xxx将包含什么内容,也不知道它将包含多长时间。我所知道的是,最终会有一个Rest/空间,这就是我想要移除的。

因此,如果文本包含“@”,请将其与所有并行字母一起查找,直到找到一个空格,然后删除“@xxx”,直到找到该空格。其他一切都要保持机智。

有什么想法吗?

共有3个答案

陈知
2023-03-14

我发现:https://stackoverflow.com/a/5877136/8695939
同一个问题,但带有$。

\$(\w)

解释:

\$:转义特殊的$字符
():在此处捕获匹配项(至少在大多数引擎中)
\w:匹配a-z、a-z和0-9(和)
:匹配任意次数

有帮助吗?

编辑:用PHP preg替换。

邵星光
2023-03-14

方法1组合strpos()以定位原始字符串中的位置,然后组合substr()以返回所需字符串。方法2还可以使用explode()并使用@great作为分隔符,然后分析返回的数组以获得所需的内容

龚鸿雪
2023-03-14

您可以使用preg_替换。

这将找到@符号,并删除它加上一个空格后的所有字母或数字。

$string = "This is a placeholder #string and it looks @great right?";
$newstring = preg_replace("/@\w+\s/", "", $string);
print $newstring;

https://3v4l.org/OUe87

 类似资料:
  • 示例:[可爱]微笑这是测试[笑哭] 目的:将这个字符串中所有中括号表示的文字替换为emoji

  • 我有一个数据框,如下所示: 我想用一个空字符串删除NaN值,这样看起来像这样:

  • 问题内容: 表: 值: 我想之前替换字符串用。 结果: 如何使用子字符串和基于字符串中的字符进行替换? 问题答案: 您甚至不需要使用或,您可以使用以下命令: 您可以使用以下方法进行测试:

  • 问题内容: 我想替换字符串语句中的单词,例如: 用实际名词/动词替换“ $ $”(含)中的字符的正则表达式是什么? 问题答案: 您不需要为此使用正则表达式。我会做 仅在需要时使用正则表达式。通常比较慢。

  • 问题内容: 我正在尝试替换字符串中特定索引处的字符。 我正在做的是: 这给出了一个错误。有什么方法可以做到这一点? 问题答案: 字符串在Java中是不可变的。你不能更改它们。 你需要创建一个新字符串并替换字符。 或者,你可以使用StringBuilder: