【发布时间】:2014-07-15 13:25:07
【问题描述】:
我正在尝试找出一种体面的方法来用 &nbps; 替换彼此相邻的空格 (\x20)。
string SPACE = "\x20";
string str = "<span style=\"color:#f00;\""> Three Spaces</span>";
size_t pos = str.find(SPACE, 0);
size_t prev = 0;
size_t start = 0;
size_t length = 0;
while (pos != string::npos)
{
prev = pos;
if (prev == (start + 1))
{
// this is where i start to get lost...
}
else
{
start = pos;
}
pos = str.find(SPACE, pos + 1);
}
所以我的 str 最终结果是
<span style="color:#f00;"> Three Spaces</span>
请注意,跨度内的空间保持不变。
我很难考虑跟踪彼此相邻的空间数量的逻辑。我打算找到起始位置,存储它找到多少个空格的“长度”,然后使用 pos 和长度执行 substr()。
【问题讨论】:
-
您的问题是什么?除了“我怎么写我的程序”,就是跑题了
-
我想,我希望确保我走在正确的道路上。找到第一个空格,然后检查下一个空格是否比上一个空格+1,如果是,则make length++;
-
尝试两次。首先将所有双空格替换为
&nbsp;&nbsp;。然后将所有&nbsp;替换为&nbsp;&nbsp;。但是请确保您的代码中没有双空格。 -
@Onyxdragun:不,真的。这更像是一个“讨论”,这是一个问答存储库。每个帖子应该对多人有用,而不仅仅是发布它们的人。这个对我的口味来说不够具体。无论如何,因为我很好,所以我在上面给了你一个提示。