ユーザーが入力した金額を分割しようとしているフレックスのテキストボックスがあります。コードは次のようなものです。
var splitAmount:Array = toAmountLocal.split("\\.");
dot(.) でさまざまなオプションを試してみましたが、何も機能せず、毎回splitAmount.length
1 のみが返されます。
ユーザーが入力した金額を分割しようとしているフレックスのテキストボックスがあります。コードは次のようなものです。
var splitAmount:Array = toAmountLocal.split("\\.");
dot(.) でさまざまなオプションを試してみましたが、何も機能せず、毎回splitAmount.length
1 のみが返されます。
メソッドの引数として文字列を使用する場合、split
何もエスケープする必要はありません。ただ行う:
toAmountLocal.split(".");
ただし、正規表現を引数として使用する場合は、次のようにバックスラッシュを 1 つだけ使用してドットをエスケープする必要があります。
toAmountLocal.split(/\./);
以下のコードが役立つかもしれません: ロジックに欠けているコメントを追加しました。
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
creationComplete="init()">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
[Bindable]
private var toAmountLocal:String = "123.45.6.78";
private function onClickHandler():void
{
//if user is entering value your local variable should be updated.
toAmountLocal = inputID.text;
var splitAmount:Array = toAmountLocal.split('.');
Alert.show(splitAmount.length.toString())
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:layout>
<s:VerticalLayout/>
</s:layout>
<s:TextInput id="inputID" text="{toAmountLocal}"/>
<s:Button label="Split" click="onClickHandler()"/>
</s:Application>