コード例 #1
0
        private List<NSRange> DoGetSubstrings(NSObject inStr, string inSubstr)
        {
            var ranges = new List<NSRange>();

            var str = (inStr.isKindOfClass(NSString.Class) ? inStr : inStr.Call("string")).To<NSString>();
            var substr = NSString.Create(inSubstr);

            NSRange within = new NSRange(0, (int) str.length());
            while (within.location < str.length())
            {
                NSRange range = str.rangeOfString_options_range(substr, Enums.NSLiteralSearch, within);
                if (range.length == 0)
                    break;

                within = new NSRange(range.location + range.length, (int) (str.length() - (range.location + range.length)));
                ranges.Add(range);
            }

            return ranges;
        }