如何在c#中剪切字符串?

Ali*_*eby 13 c# string slice

string word = "hello";
Run Code Online (Sandbox Code Playgroud)

所以我想要做的是切片,以便我可以打印,例如,elloh到控制台窗口.在python中它很简单,但我不确定是否有一种特定的切片方法在c#中.

spe*_*der 26

可以索引字符串以获取字符:

string word = "hello";
char h = word[0];
Run Code Online (Sandbox Code Playgroud)

或字符串有"切片"的方法:

int start = 0;
int length = 1;
string h = word.Substring(start, length);
Run Code Online (Sandbox Code Playgroud)

为什么不阅读文档并自己找出来?

  • 正确答案但不接受答案? (4认同)
  • @trampster除非您是问题的作者Ali Appleby,否则请不要留下似乎可以回复其他评论的评论。现在在这里看起来像是问题“ ...但未被接受为答案?” 收到您的回覆,我怀疑情况确实如此。 (2认同)
  • 现在已经不是 2014 年了,如果你像我一样用谷歌搜索如何对字符串进行切片,因为你想使用 Span 而 Slice 是 spans 使用的术语,那么你就会得到这个答案。乔尔和杰夫在制作这个网站时非常清楚,他们希望答案保持相关性。阿里可能不再关心这个问题了,但成千上万的人从谷歌点击这个页面。 (2认同)
  • @trampster为什么要回答4岁的答案,就像继续对话一样?他们没有在今天,昨天甚至去年为您发布答案。它是4年前发布给Ali Appleby的,当时是最新的。 (2认同)
  • @trampster 与*你*无关并不会让它变得无关紧要。 (2认同)

ang*_*son 10

要“切片”字符串,可以使用Substring方法:

string word = "hello";
string ordw = word.Substring(1) + word.Substring(0, 1);
Run Code Online (Sandbox Code Playgroud)

然而,一个不同的答案是查看NSlice,这是一个为处理类似 python 的数组切片而构建的库。

它会让你更容易完成你要求的事情吗?不会。它会让“切片”不同类型的集合变得更容易吗?可能吧。

  • 抱歉,这个答案来自 2014 年,远早于 `ReadOnlySpan<char>` 可用。此刻这已经是最好的了。 (3认同)
  • @trampster 对 `int.Parse(ReadOnlySpan<char>)` 的支持仅在 .NET Core 2.1 中实现。它尚未可用于 .NET Standard 或 .NET Framework。既然您已经了解“ReadOnlySpan<char>”,我不确定您为什么抱怨“Substring”,因为您似乎已经知道可以使用什么。你有问题吗? (3认同)

Jer*_*vel 8

切片的概念没有确切的翻译,但Substring通常是你想要的.

我不清楚你的确切标准是什么,但这可以做你想要的:

void Main()
{
    var input = "hello";
    var output = input.Substring(1, input.Length - 1) + input.Substring(0, 1);

    Console.WriteLine (output);
}
Run Code Online (Sandbox Code Playgroud)