teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

objc

2019/03/26 07:38

投稿

fuzzball
fuzzball

スコア16733

answer CHANGED
@@ -3,4 +3,34 @@
3
3
  * 正規表現で文字列を抽出する方法を調べる
4
4
  * Objective-C or Swiftで正規表現を扱う方法を調べる
5
5
 
6
- で解決すると思います。
6
+ で解決すると思います。
7
+
8
+ 【追記】
9
+
10
+ せっかくなのでObjective-Cで作ってみました。
11
+
12
+ ```objectivec
13
+ NSString *text = @
14
+ "return_to_login: 'Return to login'\n"
15
+ "click_here_to_reset_password: 'Click here to reset your password'\n"
16
+ "reset_password_email_subject: 'Your Password Reset Link'\n"
17
+ "reset_password: 'Reset Password'\n"
18
+ "confirm_password: 'Confirm password'\n"
19
+ ;
20
+
21
+ NSError *error;
22
+ NSRegularExpression *expr = [NSRegularExpression regularExpressionWithPattern:@"'([^']*)'" options:0 error:&error];
23
+ if (error == nil) {
24
+ [expr enumerateMatchesInString:text options:0 range:NSMakeRange(0, text.length) usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
25
+ NSLog(@"%@", [text substringWithRange:[result rangeAtIndex:1]]);
26
+ }];
27
+ }
28
+ ```
29
+
30
+ ```text
31
+ Return to login
32
+ Click here to reset your password
33
+ Your Password Reset Link
34
+ Reset Password
35
+ Confirm password
36
+ ```