标签: replace

不区分大小写的搜索和替换为sed

我正在尝试使用SED从日志文件中提取文本.

我可以毫不费力地进行搜索和替换:

sed 's/foo/bar/' mylog.txt
Run Code Online (Sandbox Code Playgroud)

但是,我想使搜索不区分大小写.从我用Google搜索的内容看起来,附加i到命令的末尾应该可以正常工作:

sed 's/foo/bar/i' mylog.txt
Run Code Online (Sandbox Code Playgroud)

但是,这给了我一个错误消息:

sed: 1: "s/foo/bar/i": bad flag in substitute command: 'i'
Run Code Online (Sandbox Code Playgroud)

这里出了什么问题,我该如何解决?

我在macOS上,万一重要.

macos replace sed case-insensitive

74
推荐指数
5
解决办法
6万
查看次数

JavaScript用<br />替换\n

var messagetoSend = $.trim(document.getElementById("msgText").value);
messagetoSend = messagetoSend.replace("\n", "<br />");
alert(messagetoSend);
Run Code Online (Sandbox Code Playgroud)

给定输入:

Line 1


Line 2




Line 3
Run Code Online (Sandbox Code Playgroud)

这个提醒:

Line 1<br />


Line 2




Line 3
Run Code Online (Sandbox Code Playgroud)

当我希望它提醒时:

Line 1<br /><br /><br />Line 2<br /><br /><br /><br /><br />Line 3
Run Code Online (Sandbox Code Playgroud)

javascript regex replace

74
推荐指数
3
解决办法
17万
查看次数

String.Replace()与StringBuilder.Replace()

我有一个字符串,我需要用字典中的值替换标记.它必须尽可能高效.使用string.replace执行循环只会消耗内存(字符串是不可变的,请记住).StringBuilder.Replace()会更好,因为它是用于字符串操作的吗?

我希望避免花费RegEx,但如果这样做会更有效率那么就这样吧.

注意:我不关心代码复杂性,只关心它运行的速度和消耗的内存.

平均统计数据:长度为255-1024个字符,字典中为15-30个字符.

.net c# replace .net-4.0

73
推荐指数
4
解决办法
5万
查看次数

Visual Studio中的多行查找和替换

可以吗?我们正在使用VS2005和VS2008以及VS2010.

我不是指正则表达式 - 它们有自己的位置 - 但是普通的旧文本可以找到和替换.我知道我们可以使用\n标签使用正则表达式(在紧要关头),但不要纠结于正则表达式转义字符,还有可读性问题.

如果不能做到人们使用的简单(简单)(免费)替代方案?这并不涉及敲响我们自己的宏.

ide replace multiline visual-studio

72
推荐指数
5
解决办法
5万
查看次数

删除字符串的一部分,但仅当它位于字符串的末尾时

我需要删除字符串的子字符串,但只有当它位于字符串的END时.

例如,删除以下字符串末尾的"string":

"this is a test string" ->  "this is a test "
"this string is a test string" - > "this string is a test "
"this string is a test" -> "this string is a test"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?可能是某种preg_replace,但是如何?

php string replace preg-replace

71
推荐指数
4
解决办法
5万
查看次数

如何替换表*中的NA值以用于所选列*?data.frame,data.table

有很多关于替换NA值的帖子.我知道可以用以下内容替换下表/框架中的NA:

x[is.na(x)]<-0
Run Code Online (Sandbox Code Playgroud)

但是,如果我想将其限制为仅某些列,该怎么办?让我给你看一个例子.

首先,让我们从数据集开始.

set.seed(1234)
x <- data.frame(a=sample(c(1,2,NA), 10, replace=T),
                b=sample(c(1,2,NA), 10, replace=T), 
                c=sample(c(1:5,NA), 10, replace=T))
Run Code Online (Sandbox Code Playgroud)

这使:

    a  b  c
1   1 NA  2
2   2  2  2
3   2  1  1
4   2 NA  1
5  NA  1  2
6   2 NA  5
7   1  1  4
8   1  1 NA
9   2  1  5
10  2  1  1
Run Code Online (Sandbox Code Playgroud)

好的,所以我只想将替换限制为列'a'和'b'.我的尝试是:

x[is.na(x), 1:2]<-0
Run Code Online (Sandbox Code Playgroud)

和:

x[is.na(x[1:2])]<-0
Run Code Online (Sandbox Code Playgroud)

哪个不起作用.

我的data.table尝试,在哪里y<-data.table(x),显然永远不会起作用:

y[is.na(y[,list(a,b)]), ]
Run Code Online (Sandbox Code Playgroud)

我想在is.na参数中传递列,但显然不起作用.

我想在data.frame和data.table中执行此操作.我的最终目标是在'a'和'b'中将1:2重新编码为0:1,同时保持'c'的方式,因为它不是逻辑变量.我有一堆列,所以我不想一个接一个地做.而且,我只想知道如何做到这一点.

你有什么建议吗?

replace r dataframe na data.table

71
推荐指数
4
解决办法
11万
查看次数

Python Pandas:如何替换数据框列中的字符?

我的数据框中有一列如下:

range
(2,30)
(50,290)
(400,1000)
... 
Run Code Online (Sandbox Code Playgroud)

我想用' - '破折号替换','逗号.我目前正在使用此方法,但没有任何改变.

org_info_exc['range'].replace(',', '-', inplace=True)
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

python replace dataframe pandas

69
推荐指数
6
解决办法
13万
查看次数

在正则表达式范围内转义点

出于某种原因,这两个正则表达式的行为方式相同:

"43\\gf..--.65".replace(/[^\d.-]/g, "");?  // 43..--.65
"43\\gf..--.65".replace(/[^\d\.-]/g, "");?  // 43..--.65
Run Code Online (Sandbox Code Playgroud)

演示

在第一个正则表达式中,我没有逃避dot(.)而在第二个正则表达式中我做(\.).

有什么区别以及为什么它们的行为相同?

javascript regex replace

68
推荐指数
4
解决办法
11万
查看次数

如何在Python中的Pandas数据框中用None替换值?

是否有任何方法可以None在Python 中用Pandas 替换值?

您可以使用df.replace('pre', 'post')并可以将值替换为另一个值,但如果您想要替换None值,则无法执行此操作,如果您尝试,则会得到一个奇怪的结果.

所以这是一个例子:

df = DataFrame(['-',3,2,5,1,-5,-1,'-',9])
df.replace('-', 0)
Run Code Online (Sandbox Code Playgroud)

返回成功的结果.

但,

df.replace('-', None)
Run Code Online (Sandbox Code Playgroud)

返回以下结果:

0
0   - // this isn't replaced
1   3
2   2
3   5
4   1
5  -5
6  -1
7  -1 // this is changed to `-1`...
8   9
Run Code Online (Sandbox Code Playgroud)

为什么会返回这么奇怪的结果?

由于我想将这个数据帧倒入MySQL数据库,因此我无法将NaN值放入数据框中的任何元素中,而是想放入None.当然,您可以先更改'-'NaN然后转换NaNNone,但我想知道为什么数据框以这种可怕的方式运行.

python replace nan dataframe pandas

68
推荐指数
5
解决办法
13万
查看次数

使用vim将选中每个单词的首字母大写

在vim中,我知道我们可以使用~大写单个字符(如本问题中所述),但是有没有办法使用vim来大写选择中每个单词的第一个字母?

例如,如果我想改变

hello world from stackoverflow
Run Code Online (Sandbox Code Playgroud)

Hello World From Stackoverflow
Run Code Online (Sandbox Code Playgroud)

我应该怎样在vim中做到这一点?

regex vim replace find capitalize

67
推荐指数
3
解决办法
3万
查看次数