我怎样才能让这个希伯来语字符串替换起作用?

2024-03-14

我想用希伯来语字符串替换这个占位符。 但不幸的是字符串替换不起作用。看起来在希伯来语字符串中根本找不到占位符字符串。

    [Test]
    public void Fancy_placeholder_should_be_replaced()
    {
        const string input = "(השדה @%1$ קצר מדי (@%2$ תווים לפחות";
        const string expected = "(השדה {0} קצר מדי ({1} תווים לפחות";

        var dummy = input.Replace("%2$@", "{1}");
        dummy = dummy.Replace("%1$@", "{0}");

        Assert.AreEqual(expected, dummy);
    }

我怎样才能在这里进行替换工作?


正是从右到左的问题弄乱了结果,具体来说,是“@”字符。 将您的函数修改为:

public void Fancy_placeholder_should_be_replaced()
    {
        const string input = "(השדה @%1$ קצר מדי (@%2$ תווים לפחות";
        const string expected = "(השדה {0} קצר מדי ({1} תווים לפחות";

        var formatted = input.Replace("@%2$", "{1}");
        formatted = formatted.Replace("@%1$", "{0}");

        bool same2 = expected == formatted;
        Assert.AreEqual(expected, formatted);
    }

还有田田!有用...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我怎样才能让这个希伯来语字符串替换起作用? 的相关文章

随机推荐