08
Sep
07

Checking if a character is whitespace using the Flex StringUtil class’s isWhitespace() method

The following example shows how you can check whether a character is a whitespace character by using the isWhitespace() method in the mx.utils.StringUtil class. And just for giggles, I also show how you can do the same thing using regular expressions (RegExp) with POSIX character classes.

Full code after the jump.

View MXML

<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/09/08/checking-if-a-character-is-whitespace-using-the-flex-stringutil-classs-iswhitespace-method/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white">

    <mx:Script>
        <![CDATA[
            import mx.controls.dataGridClasses.DataGridColumn;
            import mx.utils.StringUtil;

            private function isWhitespace_labelFunc(item:Object, column:DataGridColumn):String {
                var char:String = item.toString();
                return StringUtil.isWhitespace(char).toString();
            }

            private function isWhitespace_RegExp_labelFunc(item:Object, column:DataGridColumn):String {
                var char:String = item.toString();
                var re:RegExp = /^[[:space:]]$/;
                return re.test(char).toString();
            }

            private function charCodeAt_labelFunc(item:Object, column:DataGridColumn):String {
                var char:String = item.toString();
                return item.charCodeAt(0).toString();
            }
        ]]>
    </mx:Script>

    <mx:String id="str">The quick    brown
    fox jumped        over the    lazy dog.</mx:String>

    <mx:ArrayCollection id="arrColl" source="{str.split('')}" />

    <mx:ApplicationControlBar dock="true">
        <mx:Text text="{str}" selectable="false" />
    </mx:ApplicationControlBar>

    <mx:DataGrid id="dataGrid"
            dataProvider="{arrColl}"
            width="100%"
            height="100%">
        <mx:columns>
            <mx:DataGridColumn dataTipField="lbl"
                    headerText="Character" />
            <mx:DataGridColumn labelFunction="isWhitespace_labelFunc"
                    headerText="isWhitespace(char)" />
            <mx:DataGridColumn labelFunction="isWhitespace_RegExp_labelFunc"
                    headerText="[[:space:]]" />
            <mx:DataGridColumn labelFunction="charCodeAt_labelFunc"
                    headerText="charCodeAt()" />
        </mx:columns>
    </mx:DataGrid>

</mx:Application>

View source is enabled in the following example.

For slightly more information on using POSIX Character Classes with Regular Expressions, check out “Validating data using Regular Expressions“.


0 Responses to “Checking if a character is whitespace using the Flex StringUtil class's isWhitespace() method”


  1. No Comments

Leave a Reply

This blog is terrible at eating HTML tags. If you plan on posting code/XML, please escape your "<" characters as "&lt;" and your ">" characters as "&gt;".