如何在swift中取出一部分字符串

时间:2015-05-08 21:58:06

标签: ios string swift

我想取出我的String的一部分,之后我想将它保存在一个新的String中。

var key = "Optional("rFchd9DqwE")"

所以我的String现在等于Optional(" rFchd9DqwE")。现在我想从这个String中取出部分rFchd9DqwE并将其保存回变量" key"。有一种简单的方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:3)

如果你有这样的代码:

var aString: String? = "rFchd9DqwE"

let b = "\(aString)"

然后问题是你做错了。输出中的“Optional()”位告诉您传入了可选类型而不是字符串类型。

你应该做的是这样的事情:

var aString: String? = "rFchd9DqwE"

if let requiredString = aString
{
  let b = "\(requiredString)"
}

“if let”部分称为“可选绑定”。它将aString从可选的String对象转换为常规的String对象,并将结果保存在新的常量requiredString中。如果aString包含nil,则跳过大括号内的代码。

另一种方法是使用nil合并算子:

var aString: String? = "rFchd9DqwE"

let b = "\(aString ?? "")"

如果构造aString ?? ""不是nil,则构造??返回aString的字符串值,或者如果 nil,则将其替换为 public void showAlert(){ AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity()); LayoutInflater inflater = getActivity().getLayoutInflater(); View alertDialogView = inflater.inflate(R.layout.test_dialog, null); alertDialog.setView(alertDialogView); TextView textDialog = (TextView) alertDialogView.findViewById(R.id.text_testDialogMsg); textDialog.setText(questionMissing); alertDialog.setPositiveButton("Ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); alertDialog.show(); } 之后的值。在这种情况下,它用空格替换nil。