2015-11-26 67 views
0

我想知道如何以編程方式編輯android中的字符串。我從我的設備顯示字符串到我的網站,撇號毀了PHP輸出。所以爲了解決這個問題,我需要添加字符中斷,即:反斜槓'\'。Android編輯/插入字符串

例如,如果我有這個字符串:我喜歡filiberto的!
我需要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 
} 

,其輸出隨機字符..甚至沒有類似我的出發字符串。有誰知道這可能是什麼原因造成的?例如,字符串「Lol'ok」變成>>「%5BC%4042ed0380」

回答

0

我假設您將字符串存儲在某處。可以說這個字符串是:str。 您可以使用臨時數組來添加'/'。對於單個字符串:

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 

您可以對多個字符串使用相同的字符串。只要把它作爲一個功能,並隨時調用它。

+0

我目前正試圖實現這一點,但我有一個問題。我假設有一個快速解決方案;我只是不知道。我需要讓它成爲反黑,\,而不是一個正斜槓。但反斜槓可以防止結束報價。我怎樣才能解決這個問題?此外,運行此輸出我的文本隨機,例如:%5BC%4042e5a9b8 ...我不明白。這是因爲它是從一個字符串,一個數組,返回到一個字符串?我是否必須將枚舉保存到一個新的字符串,還是Android處理?另外,j只是一個新的整數,還是應該用I替換,以便找出它離開的位置? – Bahamit

+0

對不起j是一個錯誤。它應該是我唯一的。 – ANJ

+0

對於反斜槓,看看這個:http://stackoverflow.com/questions/6257316/illegal-escape-character。我無法得到你的第三個問題。你是說%5BC%4042e5a9b8是你的原始字符串,你無法轉換它嗎?例如, – ANJ

0

字符串API有一些API調用可以幫助,例如String.replaceAll。但是......

撇毀了PHP輸出

然後修正PHP代碼,而不是需要「乾淨」的輸入。最好的選擇是選擇一個支持良好的傳輸格式(比如JSON或XML),並讓每個端的Json API處理轉義代碼。

+0

我對JSON並不熟悉,我正在使用MySQL PDO,現在我正在努力爭取到現在的位置,我認爲清理輸入會更容易,輸出 – Bahamit