erasePunctuation

Удалите пунктуацию из текста и документов

Описание

пример

newStr = erasePunctuation(str) стирает пунктуацию и символы из элементов str. Функция удаляет символы, которые относятся к классам пунктуации в Юникоде или символам.

пример

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.

Входные параметры

свернуть все

Вход текст, заданный как строковые массивы, вектор символов или массив ячеек векторов символов.

Пример: ["An example of a short sentence."; "A second short sentence."]

Типы данных: string | char | cell

Входные документы, заданные как tokenizedDocument массив.

Типы лексем, из которых можно стереть пунктуацию, заданные как вектор символов, строковые массивы или массив ячеек из векторов символов, содержащих один или несколько типов лексем (включая пользовательские типы лексем).

The tokenizedDocument и addTypeDetails функции автоматически обнаруживают следующие типы лексем:

  • 'letters' - строка только буква символов

  • 'digits' - только строка цифр

  • 'punctuation' - строка только знаков пунктуации и символов

  • 'email-address' - обнаруженный адрес электронной почты

  • 'web-address' - обнаруженный веб-адрес

  • 'hashtag' - обнаруженный хэштег (начинается с "#" символ, за которым следует буква)

  • 'at-mention' - обнаружен при упоминании (начинается с "@" символ)

  • 'emoticon' - обнаруженный смайлик

  • 'emoji' - обнаруженные эмодзи

  • 'other' - не принадлежит к предыдущим типам и не является пользовательским типом

Чтобы задать свои собственные пользовательские типы лексем при токенизации, используйте 'CustomTokens' или 'RegularExpressions' опции в tokenizedDocument. Если вы не задаете тип для пользовательской лексемы, то программное обеспечение устанавливает соответствующий тип токена равным 'custom'.

Типы данных: string | char | cell

Выходные аргументы

свернуть все

Выход текст, возвращенный как строковые массивы, вектор символов или массив ячеек векторов символов. str и newStr имеют совпадающий тип данных.

Выходные документы, возвращенные как tokenizedDocument массив.

Подробнее о

свернуть все

Категории символов Юникод

Каждому символу Юникода присваивается категория. В следующей таблице приведена сводка категорий знаков и знаков в кодировке Юникод, а также приведен пример символа из каждой категории:

КатегорияКод категорииКоличество символовПример символа
Пунктуация, коннектор[ПК]10_
Пунктуация, штрих[Pd]24-
Пунктуация, закрытие[Pe]73)
Пунктуация, Окончательная кавычка[Pf]10
Пунктуация, начальная кавычка[Pi]12
Пунктуация, прочее[По]566!
Пунктуация, Открытие[Ps]75(
Символ, валюта[Sc]54$
Символ, модификатор[Sk]121^
Символ, Математика[См]948+
Символ, прочее[Так]5855¦

Для получения дополнительной информации см. раздел [1].

Совет

  • Для строкового входа, erasePunctuation удаляет символы пунктуации из URL-адресов и HTML. Это поведение может предотвратить функции eraseTags, eraseURLs, и decodeHTMLEntities от работы как ожидалось. Если вы хотите использовать эти функции для предварительной обработки текста, используйте эти функции перед использованием erasePunctuation.

Вопросы совместимости

расширить все

Поведение изменено в R2018b

Ссылки

[1] Категории символов Юникод. https://www.fileformat.info/info/unicode/category/index.htm

Введенный в R2017b
Для просмотра документации необходимо авторизоваться на сайте