2016-06-26 9 views
0

文字列の最初のスペースを削除しようとすると問題が発生します。たとえば、「完全機能メソッド」を「完全機能メソッド」に変更する必要がありますが、「機能メソッド」は1つのスペースしかないため変更しないでください。文字列に2つのスペースが含まれている場合、最初のスペースを削除する方法については実際考えられません。文字列に2文字の空白が含まれていると最初のスペースを削除します

+7

どの言語ですか? – v7d8dpo4

答えて

1

あなたのやりたいことは正確にはわかりませんが、RegExpと文字列を検索することができます。 replace()を使用して、文字列の一部を置き換えます。 ここにはCharacters, metacharacters, and metasequencesを理解するための別のリンクがあります。

var myPattern1:RegExp =//g; 
var str1:String = "This is a string that contains double spaces."; 
trace(str1.replace(myPattern1, " ")); 
//this replaces all " " by " "... 
//outputs : This is a string that contains double spaces. 

またはあなたの場合、このような(私は仮定)何か

var myPattern2:RegExp =//; 
var str2:String = "Fully Functional Method"; 
trace(str2.replace(myPattern2, "")); 
//If you omit the g, only the first space will be replaced by "" 
//outputs : FullyFunctional Method 

あなたは正規表現を使用して行うことができますので、多くの事は私が...ここ だけチェックをこれを説明しないこと、ありますAdobeのWebサイトで... これは、文字列を処理するためのすばやく効率的な方法です。 これが役立つことを願っています。 これらのリンクをチェックすると、私の例は純粋であり、完全機能メソッドを持つように修正する必要があることが理解できます。 :D

+0

AMO、RegExpこれは、コードで "slow-downs"を引き起こすかもしれない長くて不必要なループを避けることによって、文字列を処理する最善の方法です。 特に大きな文字列で作業する場合。 RegExpクラスは少し驚きですが、構文に精通しているときは、これが文字列を処理するための最も効率的な方法です。 私は他の人の回答に投票しませんが、不必要なループを避けるべきだと思います... \ D – tatactic

+0

@Daniel Hollerあなたが役に立たなかったか役に立たなかったかどうかは分かりませんでした... あなたはRegexpの文書をチェックしようとしましたか? – tatactic

+0

@Daniel Hollerはフィードバックに感謝します! – tatactic

0

文字列をリニアスキャンします。スペースの数を数え、もしあれば、最初のスペースのインデックスを記録します。 2つのスペースがある場合は、最初のスペースまでの文字の連結である文字列と、最初のスペースの後の文字を返します。

簡単にしてください。正規表現であなたの問題を解決することは可能ですが、ソートされていないセットの特定の文字を見つける最悪の時間の複雑さは常にO(N)になるので、それは速くはありません。

関連する問題