获取由制表符分隔的一行中的每个单词

时间:2020-05-16 15:38:01

标签: javascript string split

 import React, { Component } from 'react';
 import { createStackNavigator } from 'react-navigation-stack';
 import { createAppContainer } from 'react-navigation';


 import SignIn from './components/SignIn';
 import ForgotPassword from './components/ForgotPassword';
 import Dashboard from './components/Dashboard'

   const screens = {
   SignIn: {
     screen: SignIn  
    },

   ForgotPassword: {
  screen: ForgotPassword
   },

  Dashboard: {
   screen: Dashboard
   } 
  };

  const config = {
  headerShown: false,
  initialRouteName: 'SignIn'
   }

  export default class App extends Component<Props> {
  render() {
   return (
   <AppContainer/>
  );
 }
 }

  const HomeStack = createStackNavigator(screens,config);
 const AppContainer = createAppContainer(HomeStack)

我回来的输出:

let line = '1    test    test@gmail.com';

let column = line.split('\t');

console.log(column[0] + '-' + column[1] + '-' + column[2]);

预期输出:

1    test    test@gmail.com-undefined-undefined

我们如何实现这一目标?

2 个答案:

答案 0 :(得分:2)

您可以使用replace或split-我会先修剪行以确保

注意,您的行不包含标签。 \s+是任意数量的whitespace characters

\ s 匹配单个空格字符,包括空格,制表符,换页符,换行符和其他Unicode空格。等效于[\ f \ n \ r \ t \ v \ u00a0 \ u1680 \ u2000- \ u200a \ u2028 \ u2029 \ u202f \ u205f \ u3000 \ ufeff]。

let line = '    1    test    test@gmail.com   ';

let columns = line.trim().split(/\s+/) // .join("-")
console.log(columns); // in case you need them in an array
let combined = columns.join("-");

console.log(combined);

答案 1 :(得分:1)

无需拆分和加入(您可以使用column.join('-')),只需使用正则表达式替换即可。 \s+匹配一个或多个空格字符。如果您的情况足够,也可以使用\t/g确保它取代了所有发生的事件,而不仅仅是一次。

let line = '1    test    test@gmail.com';

let column = line.replace(/\s+/g, '-');

console.log(column);

相关问题