我需要在 word 文档中搜索字符串,并返回第一个字符的“偏移量”。我不确定的是如何解释换行符。如果文件包括:
你好
世界。
'W' 的偏移量是多少 - 是 2,因为 'i' 的偏移量是 1?还是 3,因为隐藏的 '\n' 可以被认为是一个字符?如果文档使用 '\r\n' 回车怎么办?有没有标准的方法来处理这个(Java)?
我需要在 word 文档中搜索字符串,并返回第一个字符的“偏移量”。我不确定的是如何解释换行符。如果文件包括:
你好
世界。
'W' 的偏移量是多少 - 是 2,因为 'i' 的偏移量是 1?还是 3,因为隐藏的 '\n' 可以被认为是一个字符?如果文档使用 '\r\n' 回车怎么办?有没有标准的方法来处理这个(Java)?
答案是标准化:
test.replaceAll("\r", "").indexOf('W')
3
我认为首先你应该与最初定义任务的人协商这个问题:返回第一个字符的“偏移量”。因为这完全取决于您打算如何进一步使用偏移值。
另一方面,我会计算所有“特殊”字符,也就是说我也会计算 \r 和 \n 。
\r
并且\n
也是字符并且像其他字符一样增加索引,只有
在您想确保换行符在处理之前从文本中删除所有内容W
时才\n
使用偏移量为 3\r