問題タブ [nsscanner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
361 参照

objective-c - NSString で番号のノードを検索し、その前にアンダースコアを追加して、無効な XML を修正します

返される文字列がありXMLますが、次のようなノード名として数字を使用すると無効になる場合があります<2>NSStringXML を保持する全体をスキャンし、次のものを検索したいと思います。

次に、次のように、数字の前にアンダースコアを配置して、無効を有効に変更しXMLます。

私はNSScanner仕事をするのだろうかと思っていますが、この問題にどのように対処すればよいかわかりません。現在、私はちょうど使用してstringByReplacingOccurrencesOfString:withString:いますが、置き換える数値をハードコーディングする必要があります。これは良い考えではないと思います。

アップデート:

試してみて、NSRange を使用しました。これが私が思いついたものです。約 95% 動作していますが、大きな xml 文字列では、最後のいくつかの</ >タグが欠落しています。理由はわかりません。これを改善するためのコメントやヘルプはありますか?

0 投票する
1 に答える
921 参照

iphone - NSScanner の動作

私はiOS開発に非常に慣れていません。コンマで区切られた約10行の単純なcsvファイルを解析しようとしています。NSScanner以下のコードを使用していますが、フィールド (以下のコードのフィールド) を解析すると、カンマの後の次の文字列に移動しない理由がわかりません。行を実行する必要があります

区切り文字を超えるようにします。ただし、行に対して同じことを行う必要はありませんNSScanner。位置を改行の次の行に自動的に設定します。どちらの場合も同じ方法を使用しています - [lines scanUpToCharactersFromSet:intoString] 理解していないことがありますか?

解析しようとしているテストファイルは次のとおりです。

これが私のコードです:

0 投票する
2 に答える
634 参照

objective-c - Obj-CでRegExまたはNSScannerを使用して、改行文字をHTMLの箇条書きに変換します

私のアプリは、次のような出力を返す貧弱なWebサービスにアクセスします。

明確にするために、テキストは文字通り...ではなく、情報は文字通り番号が付けられていません。私はそれらが明確であることを示したかっただけです。

このように表示したいUIWebView

またはを使用してこれをどのように達成できますNSRegularExpressionNSScannerNSRegularExpression使用する正しい式がわからないため、両方について混乱しています。また、結果にアクセスして、適切な形式の文字列に配置する方法がわかりません。

単純に、ロジックは次のようになります。

  1. char 0から最初の(のみ)出現するまでのすべてのテキストを検索し\n\n、それをフォーマットに適合させます@"<p><b>%@</b><ul>",matchedString
  2. まだテキストが残っている間に、現在の文字と次の\n(単一)の出現の間のすべてのテキストを見つけて、フォーマットに適合させます@"<li>%@</li>"
  3. 残りがなくなったら\n、追加@"</ul></p>"して1日と呼びます。

このロジックを実装する方法、または正規表現でエンコードする方法についてアドバイスしてください。

回答を実装

将来誰かが行き詰まった場合に備えて、答えのその場しのぎの実装を投稿したかっただけです。

0 投票する
2 に答える
940 参照

ios - XML フィードから画像を取得するより高速な方法

Wordpress サイトから XML フィードを介して UITableView にデータを取り込みます。投稿に画像が含まれている場合は画像付きのテーブルを表示し、含まれていない場合はデフォルトの画像を表示したかったのです。だから私の中で

メソッド、次のような if ステートメントがあります。

これは、次のような getFirstImageURL を呼び出します。

すべてが正常に機能しますが、テーブルのロードには約 5 ~ 6 秒かかり、場合によっては最大 10 秒かかることがあります。これは望ましくありません。最初の写真を取得するプロセスをスピードアップするために何かできることはないかと考えていました。

アップデート

したがって、さらに調査した結果、私が見ているボトルネックは、画像のダウンロードとは何の関係もないようです。実際、画像の実際のダウンロードには一貫して 2 秒もかかりません。RSS フィードをダウンロードすると、ボトルネックが発生するようです。

これは一貫して最も時間がかかります。

データ オブジェクトを割り当てた直後に、解析のためにデータを取得します。したがって、元の質問はもはや有効ではないと思います。おそらく、解析用の初期データを取得するより高速な方法があるかどうか、またはモデルを変更して json などを使用する必要があるかどうかを尋ねる必要がありますか?

0 投票する
4 に答える
4496 参照

objective-c - NSScannerを使用した効率的なNSString解析

まず、iOS5アプリを作成しています。例として、次の文字列があるとします。

この文字列から2つの道路名を、可能な限り最も効率的な(そしてコードにエレガントな)方法で抽出したいと思います。使用などの組み合わせを試し[string componentsSeparatedByString...]ましたが、これは非常に面倒で、すぐになります。さらに、次のような状況を処理するには、大量の条件ステートメントが必要です。

これにはネストされたハイフンが含まれているため、使用していて[string componentsSeparatedByString:@"-"]再アセンブリが必要な場合は分割されます。

次のように、文字列の形式がわずかに異なる場合もあります。

(数字とハイフンの間にスペースがない)

(番号を囲むスペースがまったくないことと、スラッシュと2番目の道路名の間にスペースがないことを組み合わせる)

ただし、2つの道路名を区切る文字列にはスラッシュが1つしかないことを常に想定できます。

道路名には、先頭と末尾のスペースも削除する必要があります。

このプロセス全体は、より効率的でエレガントな方法で可能になると思いましたNSScannerが、残念ながら、このクラスを機能させるために必要な経験がありません。任意の提案をいただければ幸いです。

0 投票する
1 に答える
495 参照

objective-c - URL ObjectiveCNSScannerからの画像と拡張子の解析

アプリ用にサーバーから画像を取得するプログラムがありますが、キャッシュのために画像をiOSアプリに保存したいと思います。

URLはこれに似ています。

画像名(mypicture)と拡張子(.png)を2つの異なる文字列に変換して保存する方法が必要です。

NSscannerを使用してこれをどのように達成しますか?

ありがとう

0 投票する
3 に答える
431 参照

java - Java で NSScanner に最も近いもの

Objective-C から Java にいくつかのコードを移動しています。プロジェクトは、XML/HTML パーサーです。目的の c では、ほとんどの場合、scanUpToString("mystring"); のみを使用します。方法。

Java Scanner クラスを見ましたが、すべてがトークンに分割されています。私はそれをしたくありません。部分文字列の出現までスキャンし、文字列全体でスキャナーの現在の位置を追跡できるようにしたいだけです。

どんな助けでも大歓迎です!

編集

もう少し詳しく言うと。Scanner にトークン化させたくありません。

上記のコードでは、feedScanner.next(title); が必要です。次の発生の終わりまでスキャンする"<title"

実際に何が起こるかというと、feeScanner.next が最初に呼び出されたときはデフォルトの区切り文字が空白であるため機能しますが、2 回目に呼び出されたときは失敗します (私の目的では)。

0 投票する
1 に答える
185 参照

cocoa - Cocoa の [NSScanner: scanInteger] による適切な検証

NSScanner:scanInteger を介して文字列を符号付き整数に変換していますが、無効な入力でエラーをスローする代わりに、「123abc」などの値を「123」として受け入れているようです。

私は独自のカスタム検証を行うことができますが、変換を実行して「123abc」で失敗する API を見つけたいと考えています。

ちなみに、「abc123」は scanInteger で失敗しますが、これは良いことです。

0 投票する
3 に答える
400 参照

iphone - NSScanner の scanUpToCharactersFromSet で不正なアクセスが発生する

最後の行は、アクセスの悪いアプリをクラッシュさせます。アドレス記号と関係があります&か? とにかく、このタイプの構文が必要な理由は明確ではありません。

inputString英数字以外の文字が含まれているかどうかを BOOL で確認しようとしています。あればpassYESになります。

更新: スキャナーを完全には理解していないようです。私はこの出力を理解しています:

ログの結果:pass is 1 for Hello

私が知りたいのは、実際にテスト文字列に英数字以外の文字が含まれているかどうかを知ることです。そのようなテストをこれにどのように組み込むことができますか?

0 投票する
1 に答える
87 参照

iphone - NSScannerで割り当てられたNSStringを印刷できません

HTMLファイル内の特定の文字列をスキャンしてNSStringに割り当て、NSStringを使用して処理を実行しようとしています。重要な場合は、Cocos2dでこれを行っています。

私のコードは次のようになります:

コードを実行すると、NSLogはコードを実行しているレイヤーの名前を出力します。

私はこの例をAppleがTにしたので混乱しています: https ://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Strings/Articles/Scanners.html#//apple_ref/doc/uid / 20000147-BCIEFGHC (一番下までスクロール)

アドバイスをいただければ幸いです。