gpt4 book ai didi

java - 我在字符串中有一个奇怪的空格字符

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:11:43 25 4
gpt4 key购买 nike

我有一个 Java 方法可以在短语中查找单词,如果找到该单词,则将其从短语中删除。这个词和短语可以是任何东西。它们是变体。这是我的代码:

private String removeWord( String phrase, String word ) {
phrase = phrase.replaceAll( "(?i)" + word , "" );
return phrase;
}

我遇到的问题是有一个短语传递给了这个方法:

The ancient Roman Empire was so vast, so mighty and so ambitious that it had a powerful effect on nearly everything that it touched. Rome’s influence was so widespread that even today, the languages, cultures, laws and governments of most Western nations still bear Rome’s mark.

而要从文本中查找并删除的单词是“罗马帝国”,但无法删除它。经过一番调查,我发现这是因为短语中的空格不是正常空格。当我在 Notepad++ 中复制短语的文本并搜索相同的单词时,我也找不到它!

请参阅随附的屏幕截图。第 5 行是我手动写的一行,如你所见,Notepad++ 能够找到它,但它找不到第 1 行中的“罗马帝国”。当我在文件中计算“罗马帝国”时,它只找到了一次!

那个奇怪的空间是什么?!

enter image description here

-------------------------------------------- -------->> 编辑:更多详细信息:

我用 Java 编写了这段代码来检查两个空格之间的区别:

char a = ' ';
char b = ' ';

System.out.println( (int) a ); // Prints 160
System.out.println( (int) b ); // Prints 32

奇怪的是这两个空格看起来完全一样!

最佳答案

可能 a non breaking space .您可以明确查找它们或将搜索字符串空格替换为\s(又名 [:space:])。

关于java - 我在字符串中有一个奇怪的空格字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12733113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com