标签: string-manipulation

如何在 Windows 批处理文件中提取部分字符串?

假设我有一个值,例如“Abc_123”,它存储在批处理 (cmd) 文件的变量中。我想最终得到一个只包含“123”的变量。有没有内置的方法来做到这一点?

我对方法或性能并不十分挑剔,只要它内置于典型的 Windows (Vista/2008) 系统中即可。

windows string-manipulation batch-file

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

20
推荐指数
2
解决办法
9万
查看次数

OS X 上的 Bash 4.3 子串负长度

Bash 4.2 添加了对负子字符串长度的支持:

http://tldp.org/LDP/abs/html/abs-guide.html#SUBSTREXTR01

例 37-12。字符串提取构造中的负参数

当“length”参数为负数时,它用作偏移量参数。

例如,在 Ubuntu 上测试时输出“World”:

STR="Hello World!"
echo ${STR:6:-1}
Run Code Online (Sandbox Code Playgroud)

但是在 OS X(GNU bash,版本 4.3.42(1)-release (x86_64-apple-darwin14.5.0))中,这种用法会产生以下错误:

-1: substring expression < 0
Run Code Online (Sandbox Code Playgroud)

这是 OS X 特定的,还是在以后的 bash 更新中再次被禁用?有没有办法为 OS X 启用此功能?

bash string-manipulation

15
推荐指数
2
解决办法
6751
查看次数

如何在bash中用引号(如命令参数)分割字符串?

我有一个这样的字符串:

"aString that may haveSpaces IN IT" bar foo "bamboo" "bam boo"
Run Code Online (Sandbox Code Playgroud)

我希望能够像这样拆分它:

aString that may haveSpaces IN IT
bar
foo
bamboo  
bam boo
Run Code Online (Sandbox Code Playgroud)

我怎么做?(最好使用单线)

linux bash string-manipulation string

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

如何从字母表中创建随机长度的随机字符串?

我想从 Excel 中的字母表中创建一个随机长度的随机字符串。例如,“jlskdjf”、“kjlk”、“kljsodif”等。我该怎么做?

string-manipulation microsoft-excel

12
推荐指数
1
解决办法
4万
查看次数

在 Notepad++ 中用新行替换字符的每个第 n 个实例

我有一个管道分隔的字符串NAME|VALUE对,看起来像这样..

Name1|Value1|Name2|Value2|Name3|Value3
Run Code Online (Sandbox Code Playgroud)

我想要做的是|用新行替换每第二个实例,以便我有这样的东西..

Name1|Value1
Name2|Value2
Name3|Value3
Run Code Online (Sandbox Code Playgroud)

我的问题不是换行,因为我知道我可以使用\r\n它,而是正则表达式部分只替换|.

notepad++ regex string-manipulation

10
推荐指数
2
解决办法
2万
查看次数

Notepad++ 中的反转名称顺序

我在格式为姓氏,名字的文件中有大量名称:

威廉姆斯,海威尔威廉姆斯,马克威廉
姆斯, 
罗杰威廉
姆斯,斯蒂芬
......

是否有一种简单的方法可以在 Notepad++ 中反转它们,让每一行反转成 Firstname Lastname 像这样?

海韦尔·威廉斯
马克·威廉姆斯
威廉斯
斯蒂芬·威廉姆斯
......

或者任何其他简单的方法来做到这一点?

notepad++ string-manipulation

6
推荐指数
1
解决办法
2924
查看次数

在 powershell 中每 6 个管道更换一次

我意识到我在问一个已经被问过和回答过的类似问题,但我无法推断出我需要的答案,因为正则表达式和正则表达式引擎足够不同。我有硬件资产管理日志,它们以管道分隔,但不是端点之间的主要分隔。日志如下所示:

|STATUS1|HOSTNAME1|IP1|MAC1|IS_WIRED1|STATUS2|HOSTNAME2|IP2|MAC2|IS_WIRED2|STATUS3|HOSTNAME3|IP3|MAC3|IS_WIRED3
Run Code Online (Sandbox Code Playgroud)

我想要做的是用|回车替换每 6 次,看起来像这样:

|STATUS1|HOSTNAME1|IP1|MAC1|IS_WIRED1
|STATUS2|HOSTNAME2|IP2|MAC2|IS_WIRED2
|STATUS3|HOSTNAME3|IP3|MAC3|IS_WIRED3
Run Code Online (Sandbox Code Playgroud)

我得到的最接近的选择每个端点,但我不太确定如何使用 powershell 来利用它。

[^\|]*\|[^\|]*\|[^\|]*\|[^\|]*\|[^\|]*\|[^\|]*
Run Code Online (Sandbox Code Playgroud)

我熟悉 PS 中的替换命令,我想象最终结果会是这样的:

$hosts = $hosts -replace "<highspeed_low_drag_velcro_snap_regex_here>","\r\n"
Run Code Online (Sandbox Code Playgroud)

提前致谢!

powershell regex string-manipulation

6
推荐指数
1
解决办法
1488
查看次数

在转换情况下,混合版本和普通版本有什么区别?

在 notepad++ 中,如果您转到Edit> Convert Case to,您会看到如下条目:

  • Proper Case
  • Proper Case (blend)
  • Sentence case
  • Sentence case (blend)

blend和版本和有什么不一样"normal"

案例说明

notepad++ string-manipulation

6
推荐指数
1
解决办法
1586
查看次数

如何在批处理文件中的字符串末尾附加动态数量的空格

我想将信息输出到日志文件中

01/08/2013 14:30 - Dynamic-Machine-Name    - Message starts
02/08/2013 07:12 - DynamicMachineName      - Log entry
02/08/2013 07:14 - Dynamic-PC-Name         - Information here
02/08/2013 08:01 - PC-Name                 - Execution continues
03/08/2013 09:00 - Dynamic-Name            - Message starts
03/08/2013 15:29 - Dynamic-Machine-Name    - Log information
03/08/2013 15:30 - Random-Machine-Name     - Message etc.
Run Code Online (Sandbox Code Playgroud)

但是为了在右侧对齐日志消息,我需要计算我已经完成的机器名称的长度,并从最大长度中减去它以获得一个数字空格。

我无法解决的是如何生成一个包含“x”个空格的字符串,或者如何将那些“x”个空格附加到机器名称的末尾?

string-manipulation concatenation batch-file

5
推荐指数
1
解决办法
7866
查看次数