从字符中分割字符串

发布于 2024-11-15 07:07:37 字数 566 浏览 3 评论 0原文

我正在尝试从字符串中获取数字。我有包含电话号码的字符串,所以我只需要数字。

我的字符串格式是:

P: 000-000-0000
所以我使用以下代码:

[[strPhone componentsSeparatedByCharactersInSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]] componentsJoinedByString:@""];

在少数情况下,我的字符串格式如下:

P: 000 000 0000 M: 000 000 0000

我想要做的是.. 我想将我的字符串拆分为一个数组。为此,我需要将字符串与字符分开。

有什么办法可以达到这个目的吗。

如果我们有

P: 000 000 0000 Mo: 000 000 0000 格式,那么数组应该只有两部分。第一个应该用“P”分开,第二个应该用“Mo”分开。不是三个部分,第一部分为“P”,第二部分为“M”,第三部分为“o”。

请帮助我实现这一目标。

谢谢

I am trying to get Numeric from the string. I have string with phone number so I need numerics only.

My string format is:

P: 000-000-0000
So I am using following code for that:

[[strPhone componentsSeparatedByCharactersInSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]] componentsJoinedByString:@""];

In few cases I am getting following format for my string:

P: 000 000 0000 M: 000 000 0000

What I want to do is.. I want to split my string in an array. for that purpose I need to split my string from the characters.

Is there any way to achive this thing.

In case that if we have

P: 000 000 0000 Mo: 000 000 0000 format then the array should have only two parts. One should split with "P" and second with "Mo". not the three part one with "P", Second "M", third "o".

Plz help me to achive this.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

迎风吟唱 2024-11-22 07:07:37

我假设您有一个包含一些文本和电话号码的字符串。在这种情况下,您可以使用 NSDataDetector 类。像这样:

NSError *error = NULL;
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypePhoneNumber
                                                              error:&error];

然后通过以下方式获取结果数组(电话号码):

NSArray * phoneNumbers = [detector metchesInString:YOURSTRING options:0 range:NSMakeRange(0, [YOURSTRING length])];

I assume you have a string with some text and a phone number. In this case you can use the NSDataDetector class. Like this:

NSError *error = NULL;
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypePhoneNumber
                                                              error:&error];

Then get the results array (phone numbers) by:

NSArray * phoneNumbers = [detector metchesInString:YOURSTRING options:0 range:NSMakeRange(0, [YOURSTRING length])];
攒一口袋星星 2024-11-22 07:07:37

您可以首先分割数据以检测一个字符串中的多个数字,

NSArray *candidates = [strPhone componentsSeparatedByString:@":"];

然后循环遍历候选者并执行之前的电话号码检查并从结果中删除所有空字符串,例如

for (NSString *candidate in candidates) {
    NSString *result = <what you did before>;
    if ([result length] > 0) {
        <add to results array>;
    }
}

You could split up the data first to detect multiple numbers in one string using

NSArray *candidates = [strPhone componentsSeparatedByString:@":"];

Then loop over the candidates and perform your previous phone number check and remove all empty strings from the result, e.g.

for (NSString *candidate in candidates) {
    NSString *result = <what you did before>;
    if ([result length] > 0) {
        <add to results array>;
    }
}
浅笑依然 2024-11-22 07:07:37

使用以下代码:

NSString *list = @"Norman, Stanley, Fletcher";
NSArray *listItems = [列表组件SeparatedByString:@", "];

listItmes 包含所有分隔的字符串。

Use following code :

NSString *list = @"Norman, Stanley, Fletcher";
NSArray *listItems = [list componentsSeparatedByString:@", "];

The listItmes contains all the separated strings.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文