我创建了一个具有一个“文本视图”和“编辑文本”的应用程序。如果用户在其中写入内容,它将对单词进行计数。我将空间定义为split,但是我需要更多项进行划分,例如,每次用户键入逗号或句点时,它都会进行空间划分。请帮助我。
这是我的代码:
package com.farmani.wordcounter;
import android.annotation.SuppressLint;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView tv;
EditText et;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = findViewById(R.id.tv);
et = findViewById(R.id.et);
et.addTextChangedListener(new TextWatcher()
{
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after)
{
}
@SuppressLint("SetTextI18n")
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
String text = et.getText().toString();
text = text.replace("\n " , " ");
String[] textArray = text.split(" " );
tv.setText("Number of Words: " + textArray.length);
}
@Override
public void afterTextChanged(Editable s)
{
}
});
}
}
答案 0 :(得分:4)
如果要使用多个分度符进行分割,请使用此
yourString.split("[ ,]"); // this will split whenever either space or comma will be encounter
答案 1 :(得分:0)
您可以轻松地将拆分更改为... = text.split(" |,|\\.");
,这是因为字符串Split
方法使用 Regex 字符串值作为参数,因此您可以使用< em> Regex ,如果我要描述我的Regex值|,|\\.
:-
|
表示或,表示第一个值或第二个值。,
)是定界符之一。\
,应在正则表达式中的句点(.
)字符之前使用。\
字符。