我想取出我的String的一部分,之后我想将它保存在一个新的String中。
var key = "Optional("rFchd9DqwE")"
所以我的String现在等于Optional(" rFchd9DqwE")。现在我想从这个String中取出部分rFchd9DqwE并将其保存回变量" key"。有一种简单的方法可以做到这一点吗?
答案 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。