regex 在C#中,如果句子中没有单词,则在前面添加单词

huwehgph  于 2023-03-31  发布在  C#
关注(0)|答案(2)|浏览(146)

我觉得这个问题可以用regex来做,可惜我不擅长regex,我现在有一句话我想在前面加上'OBSBOT'如果它不在句中
示例:输入:UVC转HDMI适配器

输出为:OBSBOT UVC转HDMI适配器

我已经找到了一些解决方案,但这些都不能解决我的问题。我已经尝试了下面的方式。但它给我这样的输出:OBSBOT OBSBOT HQ Mic

string resultOutput = new Regex("^(?!.*OBSBOT)|^(OBSBOT)", RegexOptions.IgnoreCase)
.Replace("OBSBOT HQ Mic", "OBSBOT $1");

B:我希望能够输入多个句子。

更新:输入:

UVC to HDMI Adapter  
OBSBOT HQ Mic
Remote controller for Tiny 4K 
HQ Mic OBSBOT
HQ OBSBOT Mic

输出:

OBSBOT UVC to HDMI Adapter  
OBSBOT HQ Mic
OBSBOT Remote controller for Tiny 4K  
HQ Mic OBSBOT
HQ OBSBOT Mic

注:

以前,语句上的所有任务都是使用正则表达式执行的,我不想使用其他机制向编程语言添加新代码。
我想通过正则表达式找到一个解决方案,充分利用它。

r1zk6ea1

r1zk6ea11#

你可以使用以下表达式:

^(?!OBSBOT)(.+)

然后把这个换成

OBSBOT $1

参见a demo on regex101.com

abithluo

abithluo2#

你可以使用以下表达式:

^(?!.*OBSBOT)

然后把这个换成

OBSBOT

参见a demo on regex101.com.

相关问题