2016-11-29 95 views
-1

我在文件.txt中将“\ n”转换为“:”。而在这里,这是转换之前我段落:字符后面的字符是什么?

enter image description here

你可以看到,字符串“安和”和字符串“Djam的”之间,它有一个字符“”和两个字符“\ n”。这是我的转换功能:

private String convertData(){ 
    String different = "~`[email protected]#$%^&*()-_=+*/\\\"'|]}{[:;?/.><,\n "; 
    StringBuilder data = new StringBuilder(tvData.getText().toString().trim()); 
    for (int j = 0; j < data.length(); j++){ 
     if(different.contains("" + data.charAt(j))) data.setCharAt(j, ':'); 
    } 
    String convertData = data.toString().trim(); 
    return convertData; 
} 

这是结果: enter image description here

您可以字符后面看到“\ n”个有性格,它是不是在字符串不同。
有谁能告诉我该怎么办?

回答

1

- 继续像你正在做,但\n(和其他逃出序列)。

因此,使用

String different = "~`[email protected]#$%^&*()-_=+*/'|]}{[:;?/.><, "; 

- 循环后,使用string.replace()只更换子"\n"和其他序列,即:"\\""\""
您可以使用循环来替换序列,但您必须替换2个字符而不是1个。


基本上,在第一循环中,您替换所有单个字符
然后,您替换字符序列。

+0

我曾尝试过它,但它不起作用 –

+0

它肯定有效。只需将FIRST替换为单个字符即可。然后序列(一次一个或一个循环)。 –

+0

我的转换函数: private String convertData(){ String different =“〜'!@#$%^&*()-_ = + */\\\”'|]} {[:;?/ (int j = 0; j

1

记事本仅支持Windows行尾(\r\n),因此必须是您的文件包含的内容。使用字面上不是记事本的程序将文件转换为Unix行尾(\n),或将\r添加到搜索模式。