c# - 剪切具有已知开始和结束索引的字符串

标签 c# string

当我有一个字符串,我想从某个Index到某个Index切割成一个新的字符串,我应该使用哪个函数?

如果字符串是:

ABCDEFG

这意味着当指定的两个索引为 13 时检索 BCD

最佳答案

如果 endIndex 指向您希望包含在提取的子字符串中的最后一个字符:

int length = endIndex - startIndex + 1;
string extracted = s.Substring(startIndex, length);

如果 endIndex 指向所需子字符串之后的第一个字符(即剩余文本的开头):

int length = endIndex - startIndex;
string extracted = s.Substring(startIndex, length);

参见 String.Substring Method (Int32, Int32)有关 Microsoft Docs 的官方说明.


自 C# 8.0 起,仅在 .NET Core 和 .NET 5+ 中,您可以使用 Indices and ranges

string extracted = s[startIndex..endIndex];

排除了 endIndex 的位置。这对应于我使用 Substring 的第二个示例,其中 endIndex 指向所需子字符串之后的第一个字符(即剩余文本的开头)。

如果 endIndex 旨在指向您想要包含的最后一个字符,只需将一个添加到 endIndex:

string extracted = s[startIndex..(endIndex + 1)];

关于c# - 剪切具有已知开始和结束索引的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9468950/

相关文章:

java - 如何将 string = "\t"转换为 char

c# - OpenQA.Selenium.WebDriverException : unknown error: Chrome failed to start: exited abnormally while executing tests through Selenium start on linux

c# - .net core 3.1 WorkerService 不加载配置选项/设置

python - 如何在Python中减去2个字符串或列表?

C:可以反转字符数组,但不能反转字符串

java - 将空对象转换为字符串

c# - 在远程桌面上通过 SSH 连接 MySql 数据库时出现 1042 错误

c# - nopCommerce https ssl

c# - 在 Windows 应用商店应用程序中获取 CoreDispatcher 的正确方法

python - 如何从字符串中删除空格