我想知道如何以编程方式编辑android中的字符串。我正在从我的设备显示字符串到我的网站,撇号破坏PHP输出。所以为了解决这个问题,我需要添加字符中断,即:反斜杠' \'。
例如,如果我有这个字符串:我喜欢filiberto's!
我需要android来编辑它:我喜欢filiberto \'s!
但是,每个字符串都会有所不同,还有其他字符我必须逃避。我怎样才能做到这一点?
我想知道如何以编程方式编辑android中的字符串。我正在从我的设备显示字符串到我的网站,撇号破坏PHP输出。所以为了解决这个问题,我需要添加字符中断,即:反斜杠' \'。
这是我到目前为止,感谢ANJ的基本代码......:
if(title.contains("'")) {
int i;
int len = title.length();
char[] temp = new char[len + 1]; //plus one because gotta add new
int k = title.indexOf("'"); //location of apostrophe
for (i = 0; i < k; i++) { //all the letters before the apostrophe
temp[i] = title.charAt(i); //assign letters to array based on index
}
temp[k] = 'L'; // the L is for testing purposes
for (i = k+1; i == len; i++) { //all the letters after apostrophe, to end
temp[i] = title.charAt(i); //finish the original string, same array
}
title = temp.toString(); //output array to string (?)
Log.d("this is", title); //outputs gibberish
}
哪个输出随机字符..甚至不像我的起始字符串。有谁知道是什么原因引起的?例如,字符串&#34; Lol&#39; ok&#34;变成&gt;&gt; &#34;%5BC%4042ed0380&#34;
答案 0 :(得分:0)
我假设你在某处存放字符串。让我们说字符串是:str。 您可以使用临时数组添加&#39; /&#39;。对于单个字符串:
int len = str.length();
char [] temp = new char[len+1]; //Temporary Array
int k = str.indexOf("'"), i; //Finding index of "'"
for(i=0; i<k-1; i++)
{
temp[i] = str.charAt(i); //Copying the string before '
}
temp[k] = '/'; //Placing "/" before '
for(i=k; j<len; j++)
{
temp[i+1] = str.charAt(i); //Copying rest of the string
}
String newstr = temp.toString(); //Converting array to string
您可以对多个字符串使用相同的字符串。只需将其作为一个函数,并随时调用它。
答案 1 :(得分:0)
String API有许多可以提供帮助的API调用,例如String.replaceAll。但...
撇号破坏PHP输出
然后修复PHP代码而不是要求&#34;清理&#34;输入。最好的选择是选择一个支持良好的传输格式(比如JSON或XML),让每个端的Json API处理转义代码。