gpt4 book ai didi

c# - 反转字符串句子(每个之间不一定有空格)

转载 作者:行者123 更新时间:2023-11-30 18:58:36 25 4
gpt4 key购买 nike

我有这个字符串:

com.example.is-this@myname

我希望它是

myname@this-is.example.com

使用 .Net,但最好有一个直截了当的概念或想法。

我目前正在做的是遍历每个字符,找出它是否是“特殊字符”之一,并将所有先前的字符分配给数组的一个变量,最后,我将它们连接在一起从最后到第一。

是否有更有效的方法来做到这一点?

最佳答案

这是经典的逐字反转,在分隔符上稍作改动。这个问题的解决方案是单独反转每个单词,然后反转整个字符串。反转单词时不要触摸定界符。

第一步如下:我们找到每个 token 的限制,并将其反转到位,如下所示:

  1. com.example.is-this@myname
  2. moc.example.is-this@myname
  3. moc.elpmaxe.is-this@myname
  4. moc.elpmaxe.si-this@myname
  5. moc.elpmaxe.si-siht@myname
  6. moc.elpmaxe.si-siht@emanym

反转结果以获得所需的输出:

moc.elpmaxe.si-siht@emanym -> myname@this-is.example.com

就实现而言,您可以通过将字符串转换为字符数组以使其就地可变,并编写一个简短的辅助方法来让您反转 char 的一部分。索引之间的数组 ij .有了这个辅助方法,您需要做的就是找到分隔符并为每个分隔的单词调用辅助方法,然后进行最后一次调用以反转整个句子。

关于c# - 反转字符串句子(每个之间不一定有空格),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30011924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com