問題タブ [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 投票する
2 に答える
3633 参照

objective-c - NSData を Hex NSString に変換する

次の質問を参照して: NSData を HEX NSString に変換する

Erik Aigner が提供するソリューションを使用して問題を解決しました。

ただし、後ろに余分なゼロがあると、文字列の値が異なるという小さな問題が 1 つあります。たとえば。16 進数データが​​文字列 @"3700000000000000" の場合、スキャナーを使用して整数に変換すると:

結果は 4294967295 になり、これは正しくありません。ヘキサ37だけが取られているので、それは55であるべきではありませんか?

では、どうすればゼロを取り除くことができますか?

編集:(CRDに応じて)

こんにちは、私の疑問を明確にしていただきありがとうございます。つまり、実際にバイト ポインターから 64 ビット整数を直接読み取ることですよね? しかし、私は別の質問があります。実際に NSData をバイト ポインタにキャストするにはどうすればよいですか?

わかりやすくするために、最初に何をしたかを説明します。

まず、私が持っているファイルのデータを表示しました(データは16進数です)

出力:

ここに画像の説明を入力

次に、ファイルの最初の 8 バイトを読み取ってオフセットし、文字列に変換しました。

ご覧のとおり、0x3700000000000000 は次の 8 バイトです。次の 8 バイトにアクセスするために必要な唯一の変更は、SeekFileToOffset の値を 8 に変更して、次の 8 バイトのデータにアクセスできるようにすることです。

全体として、あなたがくれた解決策は役に立ちますが、16 進数値を手動で入力するのは現実的ではありません。バイトを文字列としてフォーマットしてから解析する方法ではない場合、データの最初の 8 バイトに直接アクセスしてバイト ポインターにキャストするにはどうすればよいですか?

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

objective-c - scanUpToString の NSScanner 認識されないセレクター

私は Dimitris のURL パーサー クラスを使用していますが、init オブジェクトがトロートしたときに問題が発生しましたinitWithURLString

オンライン[scanner scanUpToString:@"?" intoString:nil];でエラーが発生します:

[NSURL の長さ]: 認識されないセレクターがインスタンス 0x1f8c2050 に送信されました

それはどのように可能ですか?

編集: URLParser の呼び出し方法を知りたいかもしれません:

UIImagePickerControllerReferenceURL 値: assets-library://asset/asset.PNG?id=8D2F0449-11A3-4962-9D60-C446831645D7&ext=PNG

0 投票する
5 に答える
149 参照

iphone - Objective-C で文字のインスタンスを 2 つの異なる文字に置き換える

iOS アプリのビュー コントローラーに渡されるデータベースに大量の NSString があります。それらは、「これは $特別にフォーマットされた$ コンテンツを含むメッセージです」という形式になっています。

ただし、特別な書式設定の先頭の「$」を「[」で、末尾の「$」を「]」で変更する必要があります。私は NSScanner を使用できると感じていますが、これまでのところ、すべての試行でおかしな連結文字列が生成されました!

「$」でカプセル化された部分文字列を認識し、開始/終了文字と交換する簡単な方法はありますか? 多くの NSString には複数の「$」部分文字列があることに注意してください。

ありがとう!

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

ios - NSStringで最初の文字を検索し、逆方向にカウントします

私はIOSを初めて使用し、ガイダンスを探していました。

解析している長いNSStringがあります。最初に数文字のゴミ(文字以外の文字でもかまいません)、11桁の数字またはスペース、1文字(AZ)が含まれる場合があります。文字の位置を取得し、文字の後ろに11文字から文字の後ろに1文字の部分文字列を取得する必要があります。

誰かがそれを行う方法について私にいくつかのガイダンスを与えることができますか?

例:'!!2553072 C'

そして私は欲しい:'53072 '

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

ios - ウェブサイトからテキストを抽出するより速い方法?

私のアプリはオンラインXMLファイルを解析します。xml内の各アイテムから特定のキーワードのLINKをスキャンし、それらをNSStringに返す機能を追加しようとしています。次を使用して解析するときにこれを行うように設定しました。

問題は、XMLに多くの項目があり、これには時間がかかり、このタスクが完了するまでTableViewセルが表示されないことです。うまくいくより速い方法はありますか?

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

ios - 複数の日付形式の解析

重複の可能性:
iPhoneで複数の日付形式を単一の形式に変換する

RSSを解析し、RSSのコンテンツセクションから日付のNSStringを抽出して、NSDateに変換しようとしています。これが私がこれまでに持っているものです:

RSSコンテンツには、常に時刻が「日時:日付/時刻から終了時刻まで」と表示されます。最初にRSSの各項目をスキャンして、When:と'to'の部分の間にあるものを取得します。次に、NSDateFormatterを設定します。ここに問題があります。2013年9月6日木曜日午後1時と表示される場合もありますが、使用される形式は2013年9月6日木曜日午後1時です。だから...私が解決する必要がある問題は、日付の形式に関係なく、何かを返すことができるように何かを設定することです。これは、「EEE MMM dd、yyyy h:mma」を使用すると、フィードは午後1時とだけ言っています。

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

objective-c - NSStringを取るメソッドでNSMutableStringを使用する方法は?

NSScanner は NSString へのポインターを受け取ります。

しかし、myString は変更可能であるため、後で追加しようとすると、変更不可能なものを変更しようとしているというエラーが表示されます。一時コピーを作成して前後に移動する必要がありますか、またはこれを行うためのより効率的な方法はありますか?

0 投票する
0 に答える
168 参照

objective-c - filter は abc# で始まり、# object c で終わります

私は新しく、これが私の最初の投稿です。

私の入力ストリームでは、特定の行をフィルタリングしてその行を印刷する必要があるメッセージのリストを取得していますが、クラッシュすることがあります。どこで間違いを犯しているのか教えてもらえますか?

これが私のコードです:


私は得ています:

時々私は得るでしょう:


「&abc」で始まり「&」で終わる文字列のみを印刷したい..

コードは正しいですか?なにか提案を?

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

objective-c - NSString で %@ までの文字を計算します

たとえば、次のようなさまざまな NSStrings があります。

また

主なポイントは、文字の量が常に異なることです。私がする必要があるのは、空白を含む文字列の先頭から「%@」までの文字数を計算し、その値を整数として持つことです。

NSScanner を調べてみましたが、これまでのところ失敗しています。これを行う正しい方法は何ですか?

乾杯。