java - 在 TextView 中显示的转义字符

标签 java android textview escaping

在我制作的 Android 应用程序中,我以编程方式构建了一个 TextView,并将一个 String 传递给 setText。我传递的字符串是从另一个来源获得的,它包含转义字符。这是一个示例字符串:

AxnZt_35\/435\/46\/34

\/ 实际上应该只是 /。但是 TextView 完全按照上面的示例显示了整个内容。

我用来构造 TextView 的代码:

TextView textView = new TextView(context);
textView.setText(text);
textView.setTextColor(color);
textView.setTypeface(Typeface.DEFAULT_BOLD);
textView.setTextSize(14);

所以我的问题是,我怎样才能显示额外的\?我只想将上面的示例显示为:

AxnZt_35/435/46/34

谢谢。

编辑

我上面提供的字符串只是一个例子。字符串中可能还有其他字符。例如,字符 /\ 本身是完全有效的。问题是 / 显示为 \/

最佳答案

@Numan1617 的答案很接近,但是对于转义字符和 replaceAll(),你必须转义它们两次。

参见 This Post .

因此,在这种情况下正确的代码是:

    String str = "AxnZt_35\\/435\\/46\\/34";

    System.out.println(str); //prints AxnZt_35\/435\/46\/34

    String s2 = str.replaceAll("\\\\/", "/"); 

    System.out.println(s2); //prints AxnZt_35/435/46/34

关于java - 在 TextView 中显示的转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29733005/

相关文章:

java - java中的作业和重载

android - ConnectivityManager getActiveNetworkInfo 空指针异常

Android Facebook SDK - 如何查询Facebook好友请求

java - 如何在 strings.xml 中设置从 JSON 消耗的变量

具有多个 TextView 的Android Eclipse线性布局不换行

java - TextView 椭圆在 setText() 上消失

java - 如何使用 doGet 方法捕获从 android 应用程序发送到 servlet 的 JSON 对象?

java - 事务性 CDI bean : How to force transaction rollback

java - Hibernate 一对多和多对一关系

android - 创建可滚动的图像按钮的 android 布局?