ios - سويفت-إزالة "حرف من السلسلة




xcode string (6)

لدي سلسلة "اختياري (" 5 ")". أحتاج إلى إزالة "" المنطقة المحيطة 5. لقد أزلت "اختياري" عن طريق العمل:

text2 = text2.stringByReplacingOccurrencesOfString("Optional(", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)

أواجه صعوبات في إزالة "الأحرف لأنها تحدد نهاية سلسلة في التعليمات البرمجية.


سويفت 3 و سويفت 4:

text2 = text2.textureName.replacingOccurrences(of: "\"", with: "", options: NSString.CompareOptions.literal, range:nil)

آخر الوثائق التي تم تحديثها إلى Swift 3.0.1:

  • حرف فارغ ( \0 )
  • خط مائل عكسي ( \\ )
  • علامة تبويب أفقية ( \t )
  • تغذية السطر ( \n )
  • Carriage Return ( \r )
  • اقتباس مزدوج ( \" )
  • اقتباس واحد ( \' )
  • Unicode scalar ( \u{n} ) ، حيث n يتراوح بين واحد وثمانية أرقام ست عشرية

إذا كنت بحاجة إلى مزيد من التفاصيل ، يمكنك إلقاء نظرة على المستندات الرسمية here


كما يقول Martin R ، يبدو أن السلسلة "اختياري" ("5") "يبدو أنك فعلت شيئًا خاطئًا.

يجيبك dasblinkenlight على ما يرام ، ولكن بالنسبة للقراء في المستقبل ، سأحاول إضافة رمز بديل على النحو التالي:

if let realString = yourOriginalString {
    text2 = realString
} else {
    text2 = ""
}

يبدو text2 في المثال الخاص بك مثل String وربما يكون قد تم تعيينه بالفعل على "" ولكن يبدو أن لديك yourOriginalString من النوع الاختياري (String) في مكان ما لم يتم إرساله أو استخدامه بشكل صحيح.

آمل أن يساعد هذا بعض القارئ.


لقد حصلت على هذا في النهاية للعمل في الملعب ، ولدي عدة شخصيات أحاول إزالتها من سلسلة:

var otherstring = "lat\" : 40.7127837,\n"
var new = otherstring.stringByTrimmingCharactersInSet(NSCharacterSet.init(charactersInString: "la t, \n \" ':"))
count(new) //result = 10
println(new) 
//yielding what I'm after just the numeric portion 40.7127837

لقد قمت بإنشاء النص 2 كاختياري (على سبيل المثال ، var text2: String؟). هذا هو السبب في تلقي اختياري ("5") في السلسلة الخاصة بك. يسلب؟ واستبدل بـ:

var text2: String = ""

يستخدم Swift الخط المائل العكسي للهروب من علامات الاقتباس المزدوجة. فيما يلي قائمة بالأحرف الخاصة المنجزة في Swift:

  • \0 (حرف فارغ)
  • \\ (الشرطة المائلة للخلف)
  • \t (علامة تبويب أفقية)
  • \n (سطر التلقيم)
  • \r (عودة النقل)
  • \" (اقتباس مزدوج)
  • \' (اقتباس واحد)

يجب أن يعمل هذا:

text2 = text2.replacingOccurrences(of: "\\", with: "", options: NSString.CompareOptions.literal, range: nil)

هنا هو الرد السريع 3 تحديث

  var editedText = myLabel.text?.replacingOccurrences(of: "\", with: "")
Null Character (\0)
Backslash (\\)
Horizontal Tab (\t)
Line Feed (\n)
Carriage Return (\r)
Double Quote (\")
Single Quote (\')
Unicode scalar (\u{n})






swift