Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptで単語を壊さずに文を固定長のブロックに分割する方法


最初の引数として段落のテキストを含み、2番目の引数としてチャンクサイズ番号を含む文字列を受け取るJavaScript関数を作成する必要があります。

関数は次のことを行う必要があります-

  • 文字列をチャンクサイズ(2番目の引数)以下の長さのチャンクに分割します。

  • 中断は空白または文の終わりでのみ発生する必要があります(単語を中断しないでください)。

例-入力文字列が-

の場合
const str = 'this is a string';
const chunkLength = 6;

その場合、出力は-

になります。
const output = ['this', 'is a', 'string'];

この関数のコードを書いてみましょう-

指定された文字数に一致する正規表現を使用します。一致したら、空白または文字列の終わりが見つかるまでバックトラックします。

このためのコードは-

になります
const size = 200;
const str = "This process was continued for several years for the deaf
child does not here in a month or even in two or three years the
numberless items and expressions using the simplest daily intercourse
little hearing child learns from these constant rotation and imitation the
conversation he hears in his home simulates is mine and suggest topics and
called forth the spontaneous expression of his own thoughts.";
const splitString = (str = '', size) > {
   const regex = new RegExp(String.raw`\S.{1,${size &minu; 2}}\S(?= |$)`,
   'g');
   const chunks = str.match(regex);
   return chunks;
}
console.log(splitString(str, size));

出力

そして、コンソールの出力は-

になります
[
   'This process was continued for several years for the deaf child does
   not here in a month or even in two or three years the numberless items and
   expressions using the simplest daily intercourse little',
   'hearing child learns from these constant rotation and imitation the
   conversation he hears in his home simulates is mine and suggest topics and
   called forth the spontaneous expression of his own',
   'thoughts.'
]

  1. JavaScriptでキャメルケースの構文を壊す

    問題 最初で唯一の引数としてstrをキャメルケース文字列として受け取るJavaScript関数を作成する必要があります。 この関数は、単語間のスペースを使用して入力文字列を分割する新しい文字列を作成して返す必要があります。 たとえば、関数への入力が-の場合 入力 const str = 'thisIsACamelCasedString'; 出力 const output = 'this Is A Camel Cased String'; 例 以下はコードです- const str = 'thisIsACamelCasedString

  2. 文をC++で単語に分割する

    与えられたのは、文を単語に分割するタスクです。ここでは、文に存在するすべての単語を分離します。 入力 I am a good boy 出力 I am a good boy 上記の例では、1つの単語を1行で印刷します。 例 #include<iostream.h> #include<string.h> #include<stdio.h> Using namespace std; void split( string st){    String word = “ “;    for (