如何在C#中将字符串替换为动态值?

尤斯里尔·毛利丹·拉吉(Yusril Maulidan Raji)

我有以下代码:

string a = "**MustbeReplaced**asdgasfsff**MustbeReplaced**asdfafasfsa";
//MustbeReplaced should be Replaced1, Replaced2, and so on
a = a.Replace("MustbeReplaced", "Replaced"); 

每次有字符串替换时,我都想用一个动态值替换它。例如,上述字符串的输出应为:

"**Replaced1**asdgasfsff**Replaced2**asdfafasfsa"

我知道String.Replace,但是据我所知,它仅用于静态String替换。

有什么办法吗?

拉瑟·卡尔森(Lasse V.Karlsen)

您可以使用Regex该类并提供一个将为每个匹配调用一次的委托。它需要返回字符串以替换匹配的文本。

您只需要声明一个变量来保存您的计数器:

string a = "**MustbeReplaced**asdgasfsff**MustbeReplaced**asdfafasfsa";
int replacementIndex = 0;
string b = Regex.Replace(a, "MustbeReplaced", match =>
{
    replacementIndex++;
    return $"Replaced{replacementIndex}";
});

运行此命令后,b将包含以下内容:

**Replaced1**asdgasfsff**Replaced2**asdfafasfsa

警告:由于您现在正在使用Regex该类,因此请注意Regex将用于增强模式的所有特殊字符,以防止简单的逐字符匹配。如果要替换包含星号,问号,括号等符号的文本,则需要对它们进行转义。

幸运的是,我们可以简单地要求Regex班级为我们做到这一点:

string a = "**Mustbe?Replaced**asdgasfsff**Mustbe?Replaced**asdfafasfsa";
int replacementIndex = 0;
string b = Regex.Replace(a, Regex.Escape("Mustbe?Replaced"), match =>
{
    replacementIndex++;
    return $"Replaced{replacementIndex}";
});

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C#中将字符串数组值转换为对象

来自分类Dev

如何在 C# 中将十六进制字符串值转换为 byte[]

来自分类Dev

在C#中的字符串中将多个字符替换为多个值

来自分类Dev

在C#中将多个字符替换为字符串中的多个值

来自分类Dev

如何在PySpark中将字符串值替换为NULL?

来自分类Dev

熊猫-如何在DataFrame系列中将字符串替换为零值?

来自分类Dev

如何在C#字符串中将上标字符转换为普通文本

来自分类Dev

如何在Swift中将字符串替换为字符串?

来自分类Dev

如何在 for 循环中将多个旧字符串替换为新字符串?

来自分类Dev

如何在Java中将字符串数组值替换为另一个值

来自分类Dev

如何在C#中将等号“ =”的字符串转换为json

来自分类Dev

如何在C#中将vb6'vbFromUnicode'转换为字符串

来自分类Dev

如何在C#中将字节数组的子范围转换为字符串

来自分类Dev

如何在Lazor C#中将lambda表达式的结果转换为字符串?

来自分类Dev

如何在C#中将UTF-8转换为字符串

来自分类Dev

如何在C#中将字符串转换为HTTP响应?

来自分类Dev

如何在C#中将Json字符串转换为List

来自分类Dev

如何在C#中将字符串变量转换为double

来自分类Dev

如何在C#中将System.Guid强制转换为字符串

来自分类Dev

如何在C#中将字节数组的子范围转换为字符串

来自分类Dev

如何在Lazor C#中将lambda表达式的结果转换为字符串?

来自分类Dev

如何在C#中将字符串转换为DateTime?

来自分类Dev

如何在C#中将字符串转换为Datetime

来自分类Dev

如何在C#中将字符串(ASCII类型)转换为UTF-8

来自分类Dev

如何在C#中将字节转换为字符串

来自分类Dev

如何在C#中将字符串json转换为字典

来自分类Dev

如何在C#中将输入字符串转换为大写

来自分类Dev

如何在C#中将等号“ =”的字符串转换为json

来自分类Dev

如何在C#中将unicode字符串转换为int?

Related 相关文章

  1. 1

    如何在C#中将字符串数组值转换为对象

  2. 2

    如何在 C# 中将十六进制字符串值转换为 byte[]

  3. 3

    在C#中的字符串中将多个字符替换为多个值

  4. 4

    在C#中将多个字符替换为字符串中的多个值

  5. 5

    如何在PySpark中将字符串值替换为NULL?

  6. 6

    熊猫-如何在DataFrame系列中将字符串替换为零值?

  7. 7

    如何在C#字符串中将上标字符转换为普通文本

  8. 8

    如何在Swift中将字符串替换为字符串?

  9. 9

    如何在 for 循环中将多个旧字符串替换为新字符串?

  10. 10

    如何在Java中将字符串数组值替换为另一个值

  11. 11

    如何在C#中将等号“ =”的字符串转换为json

  12. 12

    如何在C#中将vb6'vbFromUnicode'转换为字符串

  13. 13

    如何在C#中将字节数组的子范围转换为字符串

  14. 14

    如何在Lazor C#中将lambda表达式的结果转换为字符串?

  15. 15

    如何在C#中将UTF-8转换为字符串

  16. 16

    如何在C#中将字符串转换为HTTP响应?

  17. 17

    如何在C#中将Json字符串转换为List

  18. 18

    如何在C#中将字符串变量转换为double

  19. 19

    如何在C#中将System.Guid强制转换为字符串

  20. 20

    如何在C#中将字节数组的子范围转换为字符串

  21. 21

    如何在Lazor C#中将lambda表达式的结果转换为字符串?

  22. 22

    如何在C#中将字符串转换为DateTime?

  23. 23

    如何在C#中将字符串转换为Datetime

  24. 24

    如何在C#中将字符串(ASCII类型)转换为UTF-8

  25. 25

    如何在C#中将字节转换为字符串

  26. 26

    如何在C#中将字符串json转换为字典

  27. 27

    如何在C#中将输入字符串转换为大写

  28. 28

    如何在C#中将等号“ =”的字符串转换为json

  29. 29

    如何在C#中将unicode字符串转换为int?

热门标签

归档