Javaのsplitメソッドで文字列を分割する
配列はコンピュータプログラムでよく使用されますが、ほとんどすべてのプログラムにはさまざまなタイプの配列が含まれていると言えます。構造。最も単純なのは、 構造 連続 そのうち、加算を除くすべての操作が順番に実行されます。 削除 a アクセス 直接的ですが、 必須 実行 オフセット other elements.単語を数えるチャンネル 文字文字は、「スペース」文字を検索することを意味します。Javaは私たちにとって物事を容易にし、これは私たちがオブジェクト指向の利点に気づくところです。定義済み split, divide in English.
split メソッドは、正規表現を入力として受け取ります。これを分割しますチャンネル 指定された正規表現に従って配列を返しますこれには部分文字列が含まれます。式が一致しない場合、 チャンネル 結果の配列を検索すると、要素が 1 つしかありません.
分割する場合 チャンネル 次へ: I.am.a.programmer separated by dots、split("\\.")ではなく(split(".") false ) です。splitメソッドが入力として正規表現を受け取ると言ったからです。知識がない場合は、インターネットで調べてください。私はあなたに直接リンクを与えます:
regex
この例では、大きなものは必要ありません。単語の数を1で区切って数えたい」スペース" a チャンネル 文字の。それ存在する これを実現する2つの方法:
1- 関数 split
splitメソッドは、 への入力を受け取ります。処理して出力する文字列は、返す必要があります 単語数:int numberwords(文字列 string)
私たちは絵画を宣言します 文字列[]単語; を使用して部分文字列を格納します。後者は、split:
words=string.split(" ");
最後に、テーブルワードの長さを返します:
戻る mots.length;
2- なし split
この方法は長く見えますが、そうではありません必要 Javaにはすでに定義済みのSplit関数があるためです。これは、次のような人にとってはプラスです。したいです列車。ワードカウンターと文字を宣言します.
int n=0;
文字 c;
次に、 チャンネル そして、そのうちの1つがは、文の最初と最後の空白を数えないスペースです。「はい」の場合は、カウンターをインクリメントします.
for(int i = 0;私は
c = chain.charAt(i);
if(i!=0 &&i!=string.length()-1)
if(c==' ')
n++です。
}
最後に、 チャンネル 入力が空で、1 もし 式は に対応していません。チャンネル searched.
もしそうなら スーペリア を 1 にすると、少なくとも 1 つのスペースがあることを意味します.
if(n>1)
n++です。
例
" 私はプログラマーです "1を足すのは、その間のスペースを数えるからです。words(各 2 つの単語の間にスペース).
public class WordNumberString {
//定義済みの関数を使用 split
static int numberwords(String string){
int n=0;
文字列[]単語;
/split は文字列を単語のセットに分割します
//スペースがある場合、それらを配列に入れます
words = string.split(" ");
returnの単語.length;
}
//定義済み関数なし split
static int nombremots_naive(String string){
int n=0;
char c;
//文字列全体を参照
for(int i = 0 ; i < string.length() ; i++){
//文字ごとに
c = string.charAt(i);
//スペースを数えないようにする
/最初と最後に
//例: "私はプログラマーです"
//このテストを削除すると、単語数
//単語が4つあっても6になります.
if(i!=0 &&i!=string.length()-1)
if(c==' ')
n++;
}
//文字列が空でない場合
//次のため1を加算します
//間のスペースをカウントします
//単語、つまりスペースが3つある場合
//4つの単語になります
if(n>1)
n++;
return n;
}
public static void main(String[] args) {
String string="私はプログラマーです";
System.out.println(nombremots_naive(文字列));
}
}