Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Java Data Science Cookbook

You're reading from   Java Data Science Cookbook Explore the power of MLlib, DL4j, Weka, and more

Arrow left icon
Product type Paperback
Published in Mar 2017
Publisher Packt
ISBN-13 9781787122536
Length 372 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Rushdi Shams Rushdi Shams
Author Profile Icon Rushdi Shams
Rushdi Shams
Arrow right icon
View More author details
Toc

Table of Contents (10) Chapters Close

Preface 1. Obtaining and Cleaning Data FREE CHAPTER 2. Indexing and Searching Data 3. Analyzing Data Statistically 4. Learning from Data - Part 1 5. Learning from Data - Part 2 6. Retrieving Information from Text Data 7. Handling Big Data 8. Learn Deeply from Data 9. Visualizing Data

Cleaning ASCII text files using Regular Expressions

ASCII text files can contain unnecessary units of characters that eventually are introduced during a conversion process, such as PDF-to-text conversion or HTML-to-text conversion. These characters are often seen as noise because they are one of the major roadblocks for data processing. This recipe cleans several noises from ASCII text data using Regular Expressions.

How to do it...

  1. Create a method named cleanText(String) that takes the text to be cleaned in the String format:
            public String cleanText(String text){ 
    
  2. Add the following lines in your method, return the cleaned text, and close the method. The first line strips off non-ASCII characters. The line next to it replaces continuous white spaces with a single white space. The third line erases all the ASCII control characters. The fourth line strips off the ASCII non-printable characters. The last line removes non-printable characters from Unicode:
            text = text.replaceAll("[^p{ASCII}]",""); 
            text = text.replaceAll("s+", " "); 
            text = text.replaceAll("p{Cntrl}", ""); 
            text = text.replaceAll("[^p{Print}]", ""); 
            text = text.replaceAll("p{C}", ""); 
     
            return text; 
            } 
    

    The full method with the driver method in a class will look as follows:

    public class CleaningData { 
       public static void main(String[] args) throws Exception { 
          CleaningData clean = new CleaningData(); 
          String text = "Your text here you have got from some file"; 
          String cleanedText = clean.cleanText(text); 
          //Process cleanedText 
       } 
        
       public String cleanText(String text){ 
          text = text.replaceAll("[^p{ASCII}]",""); 
            text = text.replaceAll("s+", " "); 
            text = text.replaceAll("p{Cntrl}", ""); 
            text = text.replaceAll("[^p{Print}]", ""); 
            text = text.replaceAll("p{C}", ""); 
            return text; 
       } 
    } 
    
You have been reading a chapter from
Java Data Science Cookbook
Published in: Mar 2017
Publisher: Packt
ISBN-13: 9781787122536
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime