Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从PHP字符串中删除所有首字母缩略词_Php_String - Fatal编程技术网

从PHP字符串中删除所有首字母缩略词

从PHP字符串中删除所有首字母缩略词,php,string,Php,String,我有一行文字里面有首字母缩略词是这样的 $draft="The war between the CIA and NSA started in K2 when the FBI hired M"; 我一辈子都不知道如何创建一个删除了所有首字母缩写的新字符串 我需要这个输出 $newdraft="The war between the and started in when the hired"; 我能找到的唯一php函数只能删除静态声明的单词,如下所示 $newdraft= str_replac

我有一行文字里面有首字母缩略词是这样的

$draft="The war between the CIA and NSA started in K2 when the FBI hired M";
我一辈子都不知道如何创建一个删除了所有首字母缩写的新字符串

我需要这个输出

$newdraft="The war between the and started in when the hired";
我能找到的唯一php函数只能删除静态声明的单词,如下所示

$newdraft= str_replace("CIA", " ", $draft);

有人有什么想法,或者已经创建了一个函数吗?

试着定义一个首字母缩略词。你必须走一些弯路,但是对于这个示例来说,像“任何小于5个字符且大写的单词”这样的语句应该是正确的,并且你可以为此编写一个正则表达式


除此之外,你可以列出大量已知的首字母缩略词,然后替换它们。

尝试定义首字母缩略词。你必须走一些弯路,但是对于这个示例来说,像“任何小于5个字符且大写的单词”这样的语句应该是正确的,并且你可以为此编写一个正则表达式

除此之外,你还可以列出大量已知的首字母缩略词,然后替换它们。

首字母缩略词的定义:任何完全大写的单词,长度至少为2个字符


首字母缩略词的定义:任何完全大写且长度至少为2个字符的单词


好的,让我们试着写一些东西(尽管我不知道它有什么用处)


好的,让我们试着写一些东西(尽管我不知道它有什么用处)


要删除同时出现的多个大写字母和/或数字,请执行以下操作:

$draft="The war between the CIA and NSA started in K2 when the FBI hired M";
$newdraft = preg_replace('/[A-Z0-9][A-Z0-9]+/', '', $draft);
echo $newdraft;

Regex删除同时出现的多个大写和/或数字:

$draft="The war between the CIA and NSA started in K2 when the FBI hired M";
$newdraft = preg_replace('/[A-Z0-9][A-Z0-9]+/', '', $draft);
echo $newdraft;


确保没有为此类任务创建的函数。您必须事先定义或获取首字母缩略词列表。如何定义acryonym?它是来自那些特定的关键字之一,还是您想在字符串中找到任何首字母缩略词(可能很棘手!)这听起来像是
preg\u replace()
的工作,但您的问题太模糊了,无法确定。是的,我正在寻找任何首字母缩略词,而且越来越棘手。我将首字母缩略词定义为任何两个字母或多个单词,其中1:所有字母都是大写字母,或2:第一个字母和最后一个字母都是大写字母。我将进一步了解preg_replace()。我希望awk/sed能出现在网络环境中!我喜欢我的awk/sed。肯定没有为这些任务创建的函数。你必须事先定义或获得首字母缩略词列表。如何定义尖刻词?它是来自那些特定的关键字之一,还是您想在字符串中找到任何首字母缩略词(可能很棘手!)这听起来像是
preg\u replace()
的工作,但您的问题太模糊了,无法确定。是的,我正在寻找任何首字母缩略词,而且越来越棘手。我将首字母缩略词定义为任何两个字母或多个单词,其中1:所有字母都是大写字母,或2:第一个字母和最后一个字母都是大写字母。我将进一步了解preg_replace()。我希望awk/sed能出现在网络环境中!我喜欢我的awk/sed。当然,请参见定义。我不想删除“一只小独角兽”一句中的“A”。同意你(关于定义),但OP希望删除它:)嗯,那我就完蛋了,你也是^^看起来单字母删除m是一件罕见的事,不需要再做了。我找到了解决办法。当然,请看定义。我不想删除“一只小独角兽”一句中的“A”。同意你(关于定义),但OP希望删除它:)嗯,那我就完蛋了,你也是^^看起来单字母删除m是一件罕见的事,不需要再做了。我找到了一个解决方法。它很有用,因为在空军,我们使用以下格式的项目符号语句编写性能报告。“工程NAOC通信解决方案;为移动CP提供C2——完美POTUS/SECDEF msn的关键……sq CC创造”。我正在开发的web应用程序旨在从上述项目符号语句中删除所有非单词(如首字母缩略词),并对所有剩余的“真实单词”进行同义词库API查找。这样,只要点击一个按钮,你就会得到一张不同的“听起来更好”的单词表,作为推荐的替代词。哇!这很完美,而且非常性感。非常感谢。这很有用,因为在空军,我们使用以下格式的项目符号语句编写性能报告。“工程NAOC通信解决方案;为移动CP提供C2——完美POTUS/SECDEF msn的关键……sq CC创造”。我正在开发的web应用程序旨在从上述项目符号语句中删除所有非单词(如首字母缩略词),并对所有剩余的“真实单词”进行同义词库API查找。这样,只要点击一个按钮,你就会得到一张不同的“听起来更好”的单词表,作为推荐的替代词。哇!这很完美,而且非常性感。非常感谢。奥兹的功能非常适合这个。对于另一个领域,我将不得不做一些类似于你推荐的事情。但更多的是将缩写词转换成完整的单词。比如把Pilot'd翻译成Piloted等等。OZ_uz的功能非常适合这个。对于另一个领域,我将不得不做一些类似于你推荐的事情。但更多的是将缩写词转换成完整的单词。比如把飞行员的名字翻译成飞行员等等。
$draft="The war between the CIA and NSA started in K2 when the FBI hired M";
$newdraft = preg_replace('/[A-Z0-9][A-Z0-9]+/', '', $draft);
echo $newdraft;