Stata 如何从字符串中删除长空格

Stata 如何从字符串中删除长空格,stata,Stata,我的数据集中有一个字符串变量,空间很大,我不确定如何删除它 我已经试过: replace x = subinstr(x," ", "", .) 然而,什么也没有发生 您可以在下面找到该字符串的示例: 已使用:以前使用过的项目。该项目可能有一些迹象表明 化妆服,但完全是 预期的操作和功能。此项目可能是已使用的楼层模型或商店退货 我正在尝试将其转换为: 已使用:以前使用过的项目。该项目可能有一些化妆品磨损的迹象,但完全可操作,功能符合预期。此项目可能是已使用的楼层模型或商店退货。有关任何缺陷的详细

我的数据集中有一个字符串变量,空间很大,我不确定如何删除它

我已经试过:

replace x = subinstr(x," ", "", .)
然而,什么也没有发生

您可以在下面找到该字符串的示例:

已使用:以前使用过的项目。该项目可能有一些迹象表明 化妆服,但完全是
预期的操作和功能。此项目可能是已使用的楼层模型或商店退货

我正在尝试将其转换为:

已使用:以前使用过的项目。该项目可能有一些化妆品磨损的迹象,但完全可操作,功能符合预期。此项目可能是已使用的楼层模型或商店退货。有关任何缺陷的详细信息和说明,请参见卖方清单


基本上,您必须告诉Stata消除所有长度为两个字符或更大的空格

以下是我的作品:

clear
set obs 1

generate string = "Used: An item that has been used previously. The item may have some signs of cosmetic wear, but is fully" ///
+ "                                                                       operational and functions as intended. This item may be a floor model or store return that has been used."
generate new_string = subinstr(string,"  ", "", .)

list

请注意,我将
更改为

”,您基本上必须告诉Stata消除所有长度为两个字符或更大的空格

以下是我的作品:

clear
set obs 1

generate string = "Used: An item that has been used previously. The item may have some signs of cosmetic wear, but is fully" ///
+ "                                                                       operational and functions as intended. This item may be a floor model or store return that has been used."
generate new_string = subinstr(string,"  ", "", .)

list

请注意,我将
更改为

而不是计算空格字符的数量,只需使用
stritrim()
修剪连续的内部空格字符即可。所以

replace x = stritrim(x)

如果您仍然遇到问题,字符串中可能隐藏着其他隐藏字符。在这种情况下,您可能希望使用类似Nick Cox的方法。

而不是计算空格字符的数量,只需使用
stritrim()
修剪连续的内部空格字符即可。所以

replace x = stritrim(x)

如果您仍然遇到问题,字符串中可能隐藏着其他隐藏字符。在这种情况下,你可能想使用Nick Cox的东西。

如果你觉得它有帮助,请考虑接受我的答案。如果你觉得它有用的话,请考虑使用我的答案。