Android编辑/插入字符串

时间:2015-11-26 08:33:12

标签: android string insert edit

我想知道如何以编程方式编辑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;

2 个答案:

答案 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处理转义代码。