# Data cleaning (emoji)

**URL:** <https://forum.openrefine.org/t/data-cleaning-emoji/759>\
**Category:** Data cleaning and transformations\
**Tags:** hints-and-tips\
**Created:** [May 13, 2023, 6:03am UTC](https://forum.openrefine.org/t/data-cleaning-emoji/759 "2023-05-13T06:03:06Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alessandro\_Zonin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openrefine.org/alessandro_zonin/32/483_2.png) [@Alessandro\_Zonin](https://forum.openrefine.org/u/Alessandro_Zonin)\
**Post date:** [May 13, 2023, 6:03am UTC](https://forum.openrefine.org/t/data-cleaning-emoji/759/1 "2023-05-13T06:03:07Z")

</div>

Hi there I’m analyzing some Twitter data and usually use regexp to transform text.  
For example I use this to delete all words in a column except hashtags.  
value.replace(/(?\<!\S)[^#]\S\*/, “”)

Could someone suggest me a similar one for deleting all text except emojis?

Thanks a lot

---

<div class="post-metadata">

**Author:** ![b2m](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openrefine.org/b2m/32/139_2.png) [@b2m](https://forum.openrefine.org/u/b2m)\
**Post date:** [May 15, 2023, 6:03am UTC](https://forum.openrefine.org/t/data-cleaning-emoji/759/2 "2023-05-15T06:03:30Z")

</div>

For deleting all text except emojis I would go with the “other symbol” category (`So`) and negate the category using uppercase `P`.

```javascript
value.replace(/\P{So}+/, "")

```

For details on unicode categories read [Unicode Categories on Regular-Expressions.info](https://www.regular-expressions.info/unicode.html#category).

---

<div class="post-metadata">

**Author:** ![Alessandro\_Zonin](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openrefine.org/alessandro_zonin/32/483_2.png) [@Alessandro\_Zonin](https://forum.openrefine.org/u/Alessandro_Zonin)\
**Post date:** [May 15, 2023, 7:36am UTC](https://forum.openrefine.org/t/data-cleaning-emoji/759/3 "2023-05-15T07:36:12Z")

</div>

Many thanks. It works!
