拆分文本文件中的文本
本文关键字:文本 文件 拆分 | 更新日期: 2023-09-27 18:17:11
如何拆分一个文本文件,其中我有不同长度的句子,当我单击表单上的button1时,我想阅读文本文件,然后从该文本文件中提取单词,这些单词位于'
字符的开头和结尾之间,并且在'
字符的开头和结尾中包含@
符号或#
符号,我想知道哪个行是它输入并将单词输出到文本文件中。
假设我有一个文本,例如
abc'123'@def'456''@ghi'
abc'123'@def'#456''@ghi'123456'
输出:
1st sentence @ghi
2nd sentence #456 @ghi
PS:@def
不在'
字符的开头和结尾,因此不在输出中
我用拆分功能绑在一起,但无法制作并变成了质量:(我怎么能做到这一点。如果知道的人帮忙,我会很高兴。
谢谢。
这里的输入字符串是s
的,字符串包含@
或#
在第一个索引是str
int start = s.indexOf("'");
int end = s.indexOf("'", start + 1);
string str = s.SubString(start, end);
if(str.ToCharArray()[0] == "@" || str.ToCharArray()[0] == "#")
// proceed
就此示例而言,这里有一个有效的示例代码
string sen1="abc'123'@def'456''@ghi'";
string sen2 = "abc'123'@def'#456''@ghi'123456'";
string[] NewSen = Regex.Split(sen1, "''");
string YourFirstOP=NewSen[1].ToString(); //gets @ghi
NewSen = Regex.Split(sen2, "''");
string[] A1 = Regex.Split(NewSen[0], "'");
string[] A2 = Regex.Split(NewSen[1], "'");
string YourSecondOP= A1[A1.Length - 1] + "" + A2[A2.Length - 3].ToString();// gets #456 @ghi
但这只是这个例子
希望这有帮助
试试这个,
string testString = @"abc'123'@def'456''@ghi'abc'123'@def'#456''@ghi'123456'";
List<string> output = new List<string>();
int startIndex = 0;
int endIndex = 0;
while (startIndex >= 0 && endIndex >= 0)
{
startIndex = testString.IndexOf("'", endIndex + 1);
endIndex = testString.IndexOf("'", startIndex + 1);
if (startIndex >= 0 && endIndex >= 0)
{
string str = testString.Substring(startIndex + 1, (endIndex - startIndex) - 1);
int indexOfSpecialChar = str.IndexOf("@");
if (indexOfSpecialChar < 0)
{
indexOfSpecialChar = str.IndexOf("#");
}
if (indexOfSpecialChar >= 0)
{
output.Add(str.Substring(indexOfSpecialChar));
}
}
}
string [] Mass = s.Split('''');
if (Mass.Length > 1)
for (int i = 1; i < (Mass.Length - 1); i += 2)
{
if (Mass[i].Contains("@") || Mass[i].Contains("#"))
// proceed
}