Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在c语言中如何从字符串中提取单词而不进行拆分#_C#_String - Fatal编程技术网

C# 在c语言中如何从字符串中提取单词而不进行拆分#

C# 在c语言中如何从字符串中提取单词而不进行拆分#,c#,string,C#,String,我正在处理一个任务,该任务要求“从控制台读取”(C#)一个文本(字符串),并获取用空格分隔的单词 例如:phrase=**“我爱这个世界爱”**但我需要在没有像SPLIT、REGEX或类似的方法或函数的情况下尝试 我需要比较两个单词,但我不知道如何在单独的单词中捕捉“em” 我想要的是word1=“this”word2=“world”并检查是否有2个单词重复 string frase, palabra1="",pal2=""; bool si = false; Console

我正在处理一个任务,该任务要求“从控制台读取”(C#)一个文本(字符串),并获取用空格分隔的单词

例如:phrase=
**“我爱这个世界爱”**
但我需要在没有像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;
    }
}