2014-12-10 4 views
1

Мне нужно сравнить строку, давая две возможности для каждого символа в строке в (если) заявление, например:Сравните строку, давая две возможности для каждого персонажа в Swift

let str = "2 3 1 2" 
if str == "(1||2) (2||3) (1||2) (1||2)" { 
//Do Something 
} 

Я знаю код написано неправильно, а просто для понимания того, что я имею в виду.

Я использовал для использования (например, оператор) в VB, например:

Dim s As String = "2 3 1 2" 
If s Like "[1-2] [3-4] [2-3] [1-2]" Or s Like "[1-2] [1-2] [2-3] 2" Then 
//Do something 
End If 

Я не мог найти ничего подобного в стрижа.

Пожалуйста, помогите, спасибо.

+2

попробовать RegEx ([NSRegularExpression] (https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSRegularExpression_Class/index.html#//apple_ref/doc/uid/TP40009708)) – Okapi

+0

Sorry, но я не знаю разницы между этими сайтами, поэтому я думал, что могу писать здесь и там. – iaa

+0

см. [Какую компьютерную науку/программирование Stack Exchange я публикую?] (Http://meta.stackexchange.com/a/129632/165773) (за мое чтение, ваш вопрос очень плохо подходит для программистов) – gnat

ответ

0

Проблема, которую вы описываете, заключается в том, чтобы решить, используя regular expressions.

В прошлый раз, когда я смотрел, Swift не поддерживал регулярные выражения, но это позволяет использовать NSRegularExpression. См. Regex in Swift для примера класса Regex.

Таким образом, вы бы в конечном итоге писать что-то вроде

if Regex("[12] [23] [12] [12]").test("2 3 1 2") { 
    println("matches pattern") 
} 

другой пост в блоге на этой теме Clean Regular Expressions In Swift.

0

Похоже, что вы запрашиваете поддержку регулярных выражений. Они не существуют непосредственно в Свифт (пока?). Но вы можете взглянуть на RegEx in Swift? и http://nomothetis.svbtle.com/clean-regular-expressions-using-conversions.

+0

I увидишь, что ты опубликовал передо мной. Я думаю, что мы удвоились, потому что вопрос, на который я ответил, был [programers.se]. – andy256

+0

Нет пота. Мы пришли к такому же выводу. ;) –

Смежные вопросы