【问题标题】:How to store every word of one input field in a new string如何将一个输入字段的每个单词存储在一个新字符串中
【发布时间】:2014-01-29 13:44:54
【问题描述】:

我可以把输入变成一个字符串。像这样:

input = (EditText)findViewById(R.id.input1);
text = (TextView)findViewById(R.id.text1);

String value = input.getText().toString();
text.setText(value);

但是如何获取输入的文本并将每个单词存储在单个变量中? 我搜索了很长时间,但没有任何效果。

【问题讨论】:

  • 拆分你已有的整个字符串?
  • 可以将字符串拆分成一个String数组。将字符串转换为大写或小写(为了统一)。请务必删除每个标点符号。使用空格作为分隔符。
  • 问题不清楚。你想分裂什么?你的意思是字符串中的每个字符都在数组中吗?
  • @Prince 我有一个像“我是人类”这样的字符串;我想将字符串拆分为每个单词的新字符串

标签: java android string input


【解决方案1】:

使用String类的toCharArray()方法

char[] values = value.toCharArray();

示例

String value = "Hello";
char[] values = value.toCharArray();

for(char c: values){
    System.out.println(" "+ c);
}

输出

H
e
l
l
o

用于分割成字符串

使用split(String regex)方法

示例

String value = "Hello My Friends";
    String[] values = value.split(" ");

    for(String c: values){
        System.out.println(" "+ c);
    }

输出

Hello
My
Friends

【讨论】:

  • 谢谢你的好例子。但我想要这样: MyString = "Hello my friends";现在我想要三个字符串,例如三个单词。 String1 = "你好"; String2 = "我的"; String3 = "朋友";
  • 谢谢,我明白了,但我想将三个单词 (Hello) (My) (Friends) 分别存储到一个新的字符串中。你知道我是怎么做到的吗?
  • 亲爱的,这里的每个单词都在一个新的字符串中:String[0]、String[2] 和 String[2]
  • 它保存在 String[] 中,因此您可以通过将值作为 String[ArrayIndex] 传递来将其放置在其他 Activity 中。我希望我没有误会你。
  • 哦,对不起,我太愚蠢了。现在可以了。我没有得到什么 String[] values = value.split(" ");做。非常非常感谢:)
【解决方案2】:
【解决方案3】:

使用字符串生成器获取所有数据。

StringBuilder sb = new StringBuilder();
sb.append(keyvalue);
txtView.setText(sb);

【讨论】:

    【解决方案4】:

    你可以使用:

     StringBuffer liked_Users = new StringBuffer();
     for(int j =0 ;j<50;j++)
     {      
         liked_Users.append("Your Text goes here : "+j);
     }
     Log.d("TAG","String is : "+liked_Users.toString());
    

    【讨论】:

      【解决方案5】:

      希望对你有帮助

       import java.util.Scanner;
      
      
          public class Stri {
      
              public static void main(String args[])
              {
                  Scanner S=new Scanner(System.in);
                  int i = 0;
                  //String s=S.nextLine();
                  String s="I am boopathi";
                  String[] parts = s.split(" ");
                  for(i=0;i<parts.length;i++)
                  {
                      System.out.println(parts[i]);
                  }
              }
          }
      

      【讨论】:

        【解决方案6】:

        您可以在white space上拆分:

        String[] words = value.split(" ");
        

        然后您可以使用words[0]words[1] 等访问不同的单词。

        您可以对不同的单词执行操作或检查,例如:

        words[0].equals(...);

        words[1].contains(...);

        words[2].substring(...);

        就像这样。

        您也可以使用for each 将其打印出来,例如:

        for(String word : words){
        
            // Whatever you want
            System.out.println(word.toString());
        }
        

        【讨论】:

        • 好的,听起来不错。我试过了,但我不明白如何访问不同的单词。你能给我举个例子吗?
        • 每个String 将单独存储在words[] 数组中,您可以稍后以words[0]words[1] 等方式访问每个单词,直到words[words.length-1]
        猜你喜欢
        • 1970-01-01
        • 2010-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-11
        • 1970-01-01
        相关资源
        最近更新 更多