使用substring从字符串中删除单词
本文关键字:删除 单词 字符串 substring 使用 | 更新日期: 2023-09-27 18:17:00
是否有一种方法可以从字符串中删除一定数量的字符,将删除的字符放入单独的字符串中,并使原始x
的字符数量更短?
我需要将一个字符串解析为10个单独的字符串,每个字符串长10个字符。我想能够做这样简单的事情,但我不知道是否有这样的方法在c#
中工作string[] errorCodes = new string[10];
for (int i = 0; i < errorCodes.Length; i++)
{
errorCodes[i] = retrievedMessage.removeFromSubstring(0, 10);
}
你可以试试:
string[] errorCodes = new string[10];
for (int i = 0; i < errorCodes.Length; i++)
{
errorCodes[i] = retrievedMessage.Substring(0, 10);
retrievedMessage = retrievedMessage.Substring(10);
}
retrievedMessage = retrievedMessage.Substring(10);
行将有效地从原始字符串中删除前10个字符。这样在每次迭代中,你将能够使用前10个字符并将它们分配给errorCodes[i]
也可以尽量避免使用子字符串:
string[] errorCodes = new string[10];
for (int i = 0; i < errorCodes.Length; i++)
{
errorCodes[i] = retrievedMessage.Substring(i*10, 10);
}
编辑
现在测试,似乎对我很好
var errorCodes = "longstringgggggggggggggggggggggggggg";
var count = 10;
List<string> s = new List<string>();
for (int i = 0; i < errorCodes.Length; i += count)
{
if (i + count > errorCodes.Length)
count = errorCodes.Length - i;
s.Add(errorCodes.Substring(i, count));
}
foreach (var str in s)
Console.WriteLine(str);
Console.ReadLine();
应该可以了
string[] errorCodes = new string[10];
for (int i = 0; i < errorCodes.Length; i++)
{
errorCodes[i] = retrievedMessage.Substring(10*i, 10);
}
这是一个选项,将从string retrievedMessage
string[] errorCodes = new string[10];
for (int i = 0; i < errorCodes.Length; i++)
{
//option to remove from string
errorCodes[i] = retrievedMessage.Substring(0, 10);
retrievedMessage = retrievedMessage.Remove(0,10); //will remove from string
}
与其他答案相同的基本概念,但对可变字符串长度进行了一些检查。如果你知道你的字符串的长度总是100个字符,那么使用一个更简单的答案。
string[] errorCodes = new string[10];
for (int i = 0; i < errorCodes.Length; i++)
{
int startIndex = i * 10;
if (retrievedMessage.Length > startIndex)
{
int length = 10;
if (retrievedMessage.Length < (startIndex + length))
{
length = retrievedMessage.Length - startIndex;
}
errorCodes[i] = retrievedMessage.Substring(startIndex, length);
}
}
注意:由于errorCodes
总是以10的长度实例化,因此如果retrievedMessage的长度为<= 90,则将具有空字符串。如果您希望使用可变长度,最好使用List<string>
而不是string[]
。