C# 在c语言中如何从字符串中提取单词而不进行拆分#
我正在处理一个任务,该任务要求“从控制台读取”(C#)一个文本(字符串),并获取用空格分隔的单词 例如:phrase=C# 在c语言中如何从字符串中提取单词而不进行拆分#,c#,string,C#,String,我正在处理一个任务,该任务要求“从控制台读取”(C#)一个文本(字符串),并获取用空格分隔的单词 例如:phrase=**“我爱这个世界爱”**但我需要在没有像SPLIT、REGEX或类似的方法或函数的情况下尝试 我需要比较两个单词,但我不知道如何在单独的单词中捕捉“em” 我想要的是word1=“this”word2=“world”并检查是否有2个单词重复 string frase, palabra1="",pal2=""; bool si = false; Console
**“我爱这个世界爱”**
但我需要在没有像SPLIT、REGEX或类似的方法或函数的情况下尝试
我需要比较两个单词,但我不知道如何在单独的单词中捕捉“em”
我想要的是word1=“this”word2=“world”
并检查是否有2个单词重复
string frase, palabra1="",pal2="";
bool si = false;
Console.WriteLine("Entra frase");
frase = Console.ReadLine();
int j = 0;
for (int i = 0; i < frase.Length; i++)
{
if (frase[i] != ' ')
{
palabra1 += frase[i];
if (pal2 == palabra1) si = true;
}
else
{
pal2 = palabra1;
palabra1 = "";
}
}
if (si == true) Console.WriteLine($" SI HAY palabras seguidamente
repetidas ");
else Console.WriteLine($"NO HAY PALABRAS REPETIDAS AQUI");
string-frase,palabra1=“”,pal2=“”;
bool-si=假;
控制台。写入线(“Entra frase”);
frase=Console.ReadLine();
int j=0;
对于(int i=0;i
如果您不能使用任何函数(split、regex、indexOf等),那么您应该做的是循环遍历文本的每个字符,并在到达(空白)空间时将当前处理的段推送到单词列表中
到目前为止,你尝试了什么?@Balastrong palabra1=“”;pal2=“”;对于(inti=0;iIndexOf
和Substring
吗?这里的想法是,你不应该使用任何库代码,而应该编写自己的代码来学习编程。从这个简单的方法开始,然后尝试做得更好。开始循环句子中的字符,如果字符不是空格,则继续将其添加到第一个单词中遇到空格时,第一个单词完成,第二个单词开始。直到没有更多的字符可用为止。
String testString = "This is a test string ";
ArrayList words = new ArrayList();
string currentWord = "";
foreach(char c in testString)
{
if(Char.IsWhiteSpace(c))
{
if(currentWord.Length > 0)
{
words.Add(currentWord);
currentWord = "";
}
}
else
{
currentWord+=c;
}
}