我试图从一些动态生成的字符串中删除一些空格。我删除的空间取决于字符串的长度。字符串一直在变化,所以为了知道有多少空格,我迭代字符串并在每次迭代遇到空格时递增一个变量。我已经可以使用@Override
public void nextTuple() {
try {
String message = _mqClient.getMessage();
if (message != null) {
_collector.emit(new Values(message));
}
// sleep for 50 milliseconds
Utils.sleep(50);
} catch (Exception e) {
_collector.reportError(e);
LOG.error("MQ spout error {}", e);
}
}
删除所有特定类型的字符,其中'str'是我的字符串的名称,但我只需要删除特定的空格,而不是所有空格。所以我要说我的字符串是
str.replace(' ','');
如何在“是”之后删除空格? (假设下一个字符串不同,所以我不能只写str.replace('is','is');因为单词“is”可能不在下一个字符串中。)
我检查了documentation on .replace,但是它没有接受任何其他参数,所以我不能告诉它只是替换空格的第n个实例。
答案 0 :(得分:0)
由于您很容易获得空间的索引(当您在字符串上进行迭代时),您可以通过执行以下操作来创建一个没有空格的新字符串:
str = str.substr(0, index)+ str.substr(index);
其中index
是您要删除的空间的索引。
答案 1 :(得分:0)
您是否知道由于字数或字符数而要删除哪个空格?
如果算上炭算,你可以回答Rafaels Cardoso,
如果字数统计,您可以将它们与空格分开,然后按照您的要求加入:
var wordArray = str.split(" ");
var newStr = "";
wordIndex = 3; // or whatever you want
for (i; i<wordArray.length; i++) {
newStr+=wordArray[i];
if (i!=wordIndex) {
newStr+=' ';
}
}
答案 2 :(得分:0)
如果你想通过空格的索引:
var str = 'Hello, this is a test.';
function replace(str, indexes){
return str.split(' ').reduce(function(prev, curr, i){
var separator = ~indexes.indexOf(i) ? '' : ' ';
return prev + separator + curr;
});
}
console.log(replace(str, [2,3]));
答案 3 :(得分:0)
我想出了未知指数
<cfobject type=".NET" name="TestCFEntry" class="TestCFEntryPoint.CFEntryPoint" assembly="d:/path/to/dll/TestClass.dll">
答案 4 :(得分:0)
我认为最好的办法是根据字符串中空格的位置将字符串拆分为数组,拼接出你不想要的空格,然后将数组重新加入字符串中。
检查出来:
var x = "Hello, this is a test.";
var n = 3; // we want to remove the third space
var arr = x.split(/([ ])/); // copy to an array based on space placement
// arr: ["Hello,"," ","this"," ","is"," ","a"," ","test."]
arr.splice(n*2-1,1); // Remove the third space
x = arr.join("");
alert(x); // "Hello, this isa test."
&#13;
进一步说明
首先要注意的是str.replace(' ','');
实际上只会替换空格字符的第一个实例。 String.replace()
还接受正则表达式作为第一个参数,您希望将其用于更复杂的替换。
要实际替换字符串中的所有空格,您可以执行str.replace(/ /g,"");
并替换所有空格(包括空格,制表符和换行符),您可以执行str.replace(/\s/g,"");
为了摆弄不同的正则表达式并查看它们的含义,我建议使用http://www.regexr.com
JavaScript String
对象上的许多函数似乎都将字符串作为参数,也可以使用正则表达式,包括.split()
和.search()
。