Trying to make function which takes string as input and returns no. of words in whole string

前端 未结 3 1545
借酒劲吻你
借酒劲吻你 2021-01-27 07:13

**It takes Input as a string such as this - \'Nice one\' And Output gives - 4,3 (which is no. Of words in sentence or string) **

function countx(str)
   local cou         


        
3条回答
  •  太阳男子
    2021-01-27 08:05

    You can find a simple alternative with your new requirements:

    function CountWordLength (String)
      local Results  = { }
      local Continue = true
      local Position = 1
      local SpacePosition
      
      while Continue do
        SpacePosition = string.find(String, " ", Position)
        if SpacePosition then
          Results[#Results + 1] = SpacePosition - Position
          Position = SpacePosition + 1
          -- if needed to print the string
          -- local SubString = String:sub(Position, SpacePosition)
          -- print(SubString)
        else
          Continue = false
        end    
      end
    
      Results[#Results + 1] = #String - Position + 1
      
      return Results  
    end
    
    Results = CountWordLength('I am a boy')
    
    for Index, Value in ipairs(Results) do
      print(Value)
    end
    

    Which gives the following results:

    1
    2
    1
    3
    

提交回复
热议问题