Main Content

erasePunctuation

テキストや文書からの句読点の消去

説明

newStr = erasePunctuation(str) は、str の要素から句読点と記号を消去します。関数は、Unicode の句読点クラスまたは記号クラスに属する文字を削除します。

newDocuments = erasePunctuation(documents) は、documents から句読点と記号を消去します。句読点と記号の文字を削除した後の単語が空である場合、関数はそれを削除します。トークン化された文書入力の場合、この関数はタイプが 'punctuation' および 'other' のトークンから句読点を消去します。たとえば、関数は URL や電子メール アドレスからは句読点や記号を消去しません。

newDocuments = erasePunctuation(documents,'TokenTypes',types) は、指定されたトークン タイプからのみ句読点と記号を消去します。

すべて折りたたむ

str のテキストから句読点を消去します。

str = "it's one and/or two.";
newStr = erasePunctuation(str)
newStr = 
"its one andor two"

"/" 記号がある場所にスペースを挿入するには、最初に関数 replace を使用します。

newStr = replace(str,"/"," ")
newStr = 
"it's one and or two."
newStr = erasePunctuation(newStr)
newStr = 
"its one and or two"

文書の配列から句読点を消去します。

documents = tokenizedDocument([ ...
    "An example of a short sentence." 
    "Another example... with a URL: https://www.mathworks.com"])
documents = 
  2x1 tokenizedDocument:

     7 tokens: An example of a short sentence .
    10 tokens: Another example . . . with a URL : https://www.mathworks.com

newDocuments = erasePunctuation(documents)
newDocuments = 
  2x1 tokenizedDocument:

    6 tokens: An example of a short sentence
    6 tokens: Another example with a URL https://www.mathworks.com

ここで、関数は URL から句読点記号を消去していません。

入力引数

すべて折りたたむ

入力テキスト。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。

例: ["An example of a short sentence."; "A second short sentence."]

データ型: string | char | cell

入力文書。tokenizedDocument 配列として指定します。

句読点を消去するトークン タイプ。文字ベクトル、string 配列、または 1 つ以上のトークン タイプ (カスタム トークン タイプを含む) を含む文字ベクトルの cell 配列として指定します。

関数 tokenizedDocument および関数 addTypeDetails は、次のトークン タイプを自動的に検出します。

  • letters — 文字のみの文字列

  • digits — 数字のみの文字列

  • punctuation — 句読点と記号文字のみの文字列

  • email-address — 検出された電子メール アドレス

  • web-address — 検出された Web アドレス

  • hashtag — 検出されたハッシュタグ ("#" の文字で始まり、その後に文字が続く)

  • at-mention — 検出された @-メンション ("@" 文字で始まり、その後に 1 から 15 の ASCII 文字、数字またはアンダースコア文字が続く)

  • emoticon — 検出された顔文字

  • emoji — 検出された絵文字

  • other — 前述のタイプに属さず、かつカスタム タイプではないもの

トークン化の際に独自のカスタム トークン タイプを指定するには、tokenizedDocument'CustomTokens' または 'RegularExpressions' オプションを使用します。カスタム トークン タイプを指定しなかった場合、ソフトウェアによって対応するトークン タイプが 'custom' に設定されます。

データ型: string | char | cell

出力引数

すべて折りたたむ

出力テキスト。string 配列、文字ベクトル、または文字ベクトルの cell 配列として返されます。strnewStr は同じデータ型です。

出力文書。tokenizedDocument 配列として返されます。

詳細

すべて折りたたむ

Unicode 文字カテゴリ

各 Unicode 文字にはカテゴリが割り当てられています。次の表は、Unicode の句読点と記号のカテゴリをまとめたもので、各カテゴリの文字の例を示しています。

カテゴリカテゴリ コード文字数文字の例
Punctuation, Connector (句読点、接続)[Pc]10_
Punctuation, Dash (句読点、ダッシュ)[Pd]24-
Punctuation, Close (句読点、閉じ)[Pe]73)
Punctuation, Final quote (句読点、終了引用符)[Pf]10
Punctuation, Initial quote (句読点、開始引用符)[Pi]12
Punctuation, Other (句読点、その他)[Po]566!
Punctuation, Open (句読点、開き)[Ps]75(
Symbol, Currency (記号、通貨)[Sc]54$
Symbol, Modifier (記号、修飾)[Sk]121^
Symbol, Math (記号、数学)[Sm]948+
Symbol, Other (記号、その他)[So]5855¦

詳細については、[1]を参照してください。

ヒント

  • string 入力の場合、erasePunctuation は URL と HTML タグから句読点を削除します。この動作により、関数 eraseTags、関数 eraseURLs、関数 decodeHTMLEntities が期待どおりに動作しない可能性があります。これらの関数を使用してテキストを前処理する場合は、erasePunctuation を使用する前にこれらの関数を使用するようにしてください。

参照

バージョン履歴

R2017b で導入

すべて展開する