如何使用 Java 替换字符串中的行制表符 (\\u000B 或 )?
How to replace Line Tabulation (\\u000B or ) in String using Java?
- 数据库中的数据看起来有点像以下内容:()
当从数据库中获取记录并且其余服务响应时,它看起来像:
ICT0637256 Onboarding questionnaire for internal transfers & dashboard\u000BOnboarding
returns soap 响应的另一个包装器服务;当调用此休息服务时,它会 returns 以下响应:
<ns7:TaskDescription>ICT0637256 Onboarding questionnaire for internal transfers & dashboardOnboarding</ns7:TaskDescription>
上网查了一下,发现\u000B是折线表。
现在在 soap 服务级别,我正在尝试替换来自 Rest 服务的字符:
public String replaceUnnecessaryCharacters(String text) {
if(StringUtils.isNotEmpty(text)) {
text = text.replaceAll("\\u000B", " ");
text = text.replaceAll("", " ");
text = text.replaceAll("<0x0b>", " ");
text = text.replaceAll("\^K", " ");
}
return text;
}
if(task.getProjectId() == 5130764) {
LOG.info("getTasks: DescriptionDetails:5130764" + task.getDescription()); //<-- This comes from Rest API in code
LOG.info("getTasks: DescriptionDetails:5130764" + replaceUnnecessaryCharacters(task.getDescription())); <--- Here it doesn't show \u00B but blank space
}soapResponsetsk.setTaskDescription(replaceUnnecessaryCharacters(task.getDescription()));
- 当我用记事本复制它时,它看起来像
- 当我将它复制到 linux 中的 VI 编辑器时,它会显示 ^K
我好像迷路了如何用Java替换这个字符?你能建议如何修复吗?
因为您并没有真正使用任何正则表达式语法(如 +
*
量词、\w
字符 类 等)而不是 replaceAll
你可以使用replace
方法。
此外,由于您想用另一个字符替换单个字符,您可以使用 replace(char oldChar, char newChar)
like
text = text.replace('\u000B', ' ');
- 数据库中的数据看起来有点像以下内容:()
当从数据库中获取记录并且其余服务响应时,它看起来像:
ICT0637256 Onboarding questionnaire for internal transfers & dashboard\u000BOnboarding
returns soap 响应的另一个包装器服务;当调用此休息服务时,它会 returns 以下响应:
<ns7:TaskDescription>ICT0637256 Onboarding questionnaire for internal transfers & dashboardOnboarding</ns7:TaskDescription>
上网查了一下,发现\u000B是折线表。
现在在 soap 服务级别,我正在尝试替换来自 Rest 服务的字符:
public String replaceUnnecessaryCharacters(String text) {
if(StringUtils.isNotEmpty(text)) {
text = text.replaceAll("\\u000B", " ");
text = text.replaceAll("", " ");
text = text.replaceAll("<0x0b>", " ");
text = text.replaceAll("\^K", " ");
}
return text;
}
if(task.getProjectId() == 5130764) {
LOG.info("getTasks: DescriptionDetails:5130764" + task.getDescription()); //<-- This comes from Rest API in code
LOG.info("getTasks: DescriptionDetails:5130764" + replaceUnnecessaryCharacters(task.getDescription())); <--- Here it doesn't show \u00B but blank space
}soapResponsetsk.setTaskDescription(replaceUnnecessaryCharacters(task.getDescription()));
- 当我用记事本复制它时,它看起来像
- 当我将它复制到 linux 中的 VI 编辑器时,它会显示 ^K
我好像迷路了如何用Java替换这个字符?你能建议如何修复吗?
因为您并没有真正使用任何正则表达式语法(如 +
*
量词、\w
字符 类 等)而不是 replaceAll
你可以使用replace
方法。
此外,由于您想用另一个字符替换单个字符,您可以使用 replace(char oldChar, char newChar)
like
text = text.replace('\u000B', ' ');