如何批量只替换一个字符串实例

猪油派

我已经在互联网上搜索了所有内容,但无济于事。你将如何只批量替换一个字符串的发现?假设我有代码:

SET string=chair chair book

有没有办法只替换“椅子”这个词一次?对于这样的事情?

chair book

我使用了编辑替换功能

SET furniture=%string:chair=%

但这使得椅子的所有实例都消失在

book

各位大侠有解决办法吗?

编辑:抱歉有任何混淆,我的意思是替换字符串第一个实例。例如,给定

chair chair chair book

而“椅子”这个词,它会输出

chair chair book

至于第二个想法,我想我当时只想替换一个词。所以给出“椅子”

table desk chair chair book chair candle lamp lamp desk

这将是

table desk chair book chair candle lamp lamp desk

我真的很抱歉造成混乱,希望这能解决问题!

谢谢,猪油派

约翰·肯斯

这可以通过一个简单的for循环来完成直接以我提供的代码从一个例子,从这个帖子斯蒂芬-我们把每个字从你的String,那么只需检查它是否是在wordpool已被使用。

RemoveAllDuplicateWords.bat

@ECHO OFF
@setlocal EnableDelayedExpansion

Set "String=table desk chair chair book chair candle lamp lamp desk"
set "newstring="

for %%i in (%string%) do (
  echo !newstring!|findstr /i "\<%%i\>" >nul || set "newstring=!newstring! %%i"
)
Set "furniture=%newstring:~1%"

Echo %furniture%

正如 Stephan 所说,/i如果您希望过滤器区分大小写,请删除


编辑:

因此,由于对线程请求的误解,我带来了一个可以解决用户帖子的编辑(希望如此)。根据他的澄清,他/她不想从字符串中删除重复的单词,而是删除彼此旁边的重复单词。

前: table desk chair chair book chair candle lamp lamp desk

后: table desk chair book chair candle lamp lamp desk

这个过程很简单,但可能会变得复杂。我这样做的过程是简单地比较每个单词,通过它之前的单词,出现在字符串中。这将采用Table Chair Chair DeskTable Chair Chair Chair DeskTable Chair Chair Chair Chair Desk(你明白了)并将其更改为Table Chair Desk.

由于此脚本非常冗长,因此您不会希望为每个字符串粘贴此脚本。一个惊人的解决方案就是call它。当我把它变成一个函数。下面我将解释如何使用它。

命令: Call :RemoveMultipleWords [String You Want Edited] [New String]

例子: Call :RemoveMultipleWords String Furniture

请记住,您也可以编辑它自己的原始字符串。这意味着String Furniture您可以将String String.

RemoveOnlyDouble+Instances.bat:

@ECHO OFF
@setlocal EnableDelayedExpansion

Rem | Original String's
Set "Furniture=table desk chair chair book chair candle lamp lamp desk"
Set "Food=Lasagne Fettuccine_Alfredo Carbonara Carbonara Culatello Breadsticks Tortano Tortano"

Rem | Call To Fix Function
Call :RemoveMultipleWords Furniture Furniture
Echo !Furniture!

Call :RemoveMultipleWords Food IntlianFoods
Echo !IntlianFoods!

Rem | Exit BATCH
Pause
Exit /b

:RemoveMultipleWords
Rem | Reset LoopCount
Set "LoopCount=0"

Rem | Process Each Item
for %%A in (!%1!) do (

    Rem | Get Current Word
    Set "CurrentWord=%%A"

    Rem | Set First Word
    If "!LoopCount!"=="0" (

        Rem | Set LoopCount
        Set "LoopCount=1"

        Rem | First Run
        Set "%2=%%A"

    ) ELSE (

        Rem | Upcoming Runs
        If "!LoopCount!"=="1" (

            Rem | First Word
            Set "LastWord1=%%A"

            Rem | Add LoopCount
            Set "LoopCount=2"

            Rem | Echo Results
            If not "!LastWord2!"=="%%A" (Set "%2=!%2! !CurrentWord!")

        ) ELSE (

            Rem | Next Word
            Set "LastWord2=%%A"

            Rem | Subtract LoopCount
            Set "LoopCount=1"

            Rem | Echo Results
            If not "!LastWord1!"=="%%A" (Set "%2=!%2! !CurrentWord!")

        )
    )
)
Goto :EOF

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在多个标题上替换一个字符串

来自分类Dev

如何从另一个字符串替换一个字符串?

来自分类Dev

如何从终端用更多文件中的另一个字符串替换一个字符串?

来自分类Dev

替换一个字符串,但只替换该字符串的第二次出现

来自分类Dev

bash 从字符串的末尾替换一个字符

来自分类Dev

如何在字符串的特定索引处替换一个字符

来自分类Dev

如何替换一个字符以在Shell中获得许多字符串?

来自分类Dev

替换一个字符串

来自分类Dev

Awk:如何每四行替换一个字符串?

来自分类Dev

如何替换一个字符串中的多个字符串而不会导致结果重叠?

来自分类Dev

替换一个字符串,并用另一个字符串创建一列

来自分类Dev

替换一个字符串,只要它在Java中不被另一个字符串跟随?

来自分类Dev

不能用存储在变量中的另一个字符串替换一个字符串

来自分类Dev

用相应的匹配字符串替换一个字符串

来自分类Dev

如何在一个字符串中替换子字符串的多个实例

来自分类Dev

如何仅在每行的最后一个单词上用另一个字符串替换一个字符串

来自分类Dev

我想在文件中找到一行并替换一个字符串

来自分类Dev

如何用一个字符串中的另一个子字符串替换一个子字符串的所有出现?

来自分类Dev

尽管R中存在其他具有相似值的字符串,但我能否只替换一个字符串

来自分类Dev

如何替换PostgreSQL中字符串的最后一个字符?

来自分类Dev

如何替换字符串中的最后一个字符,JS

来自分类Dev

想要转换一个字符串

来自分类Dev

变换一个字符串基于条件的String

来自分类Dev

想要转换一个字符串

来自分类Dev

Java-用多个字符替换一个字符

来自分类Dev

Java-用多个字符替换一个字符

来自分类Dev

用多个字符替换一个字符

来自分类Dev

如何计算一个字符串的实例并将其替换为另一个字符串+当前计数器?

来自分类Dev

如何替换字符串中一个字符的一个实例,然后使用VB语言将输出放在文本框中

Related 相关文章

  1. 1

    如何在多个标题上替换一个字符串

  2. 2

    如何从另一个字符串替换一个字符串?

  3. 3

    如何从终端用更多文件中的另一个字符串替换一个字符串?

  4. 4

    替换一个字符串,但只替换该字符串的第二次出现

  5. 5

    bash 从字符串的末尾替换一个字符

  6. 6

    如何在字符串的特定索引处替换一个字符

  7. 7

    如何替换一个字符以在Shell中获得许多字符串?

  8. 8

    替换一个字符串

  9. 9

    Awk:如何每四行替换一个字符串?

  10. 10

    如何替换一个字符串中的多个字符串而不会导致结果重叠?

  11. 11

    替换一个字符串,并用另一个字符串创建一列

  12. 12

    替换一个字符串,只要它在Java中不被另一个字符串跟随?

  13. 13

    不能用存储在变量中的另一个字符串替换一个字符串

  14. 14

    用相应的匹配字符串替换一个字符串

  15. 15

    如何在一个字符串中替换子字符串的多个实例

  16. 16

    如何仅在每行的最后一个单词上用另一个字符串替换一个字符串

  17. 17

    我想在文件中找到一行并替换一个字符串

  18. 18

    如何用一个字符串中的另一个子字符串替换一个子字符串的所有出现?

  19. 19

    尽管R中存在其他具有相似值的字符串,但我能否只替换一个字符串

  20. 20

    如何替换PostgreSQL中字符串的最后一个字符?

  21. 21

    如何替换字符串中的最后一个字符,JS

  22. 22

    想要转换一个字符串

  23. 23

    变换一个字符串基于条件的String

  24. 24

    想要转换一个字符串

  25. 25

    Java-用多个字符替换一个字符

  26. 26

    Java-用多个字符替换一个字符

  27. 27

    用多个字符替换一个字符

  28. 28

    如何计算一个字符串的实例并将其替换为另一个字符串+当前计数器?

  29. 29

    如何替换字符串中一个字符的一个实例,然后使用VB语言将输出放在文本框中

热门标签

归档